CPen::CreatePen
Tworzy logiczne pióro kosmetycznych lub geometryczne z określonego stylu, szerokości i atrybuty pędzla i dołącza go do CPen obiektu.
BOOL CreatePen(
int nPenStyle,
int nWidth,
COLORREF crColor
);
BOOL CreatePen(
int nPenStyle,
int nWidth,
const LOGBRUSH* pLogBrush,
int nStyleCount = 0,
const DWORD* lpStyle = NULL
);
Parametry
nPenStyle
Określa styl pióra.Aby uzyskać listę możliwych wartości, zobacz nPenStyle parametr w CPen Konstruktor.nWidth
Określa szerokość pióra.Dla pierwszej wersji programu CreatePen, jeśli ta wartość wynosi 0, szerokość w jednostkach urządzenia jest zawsze 1 piksel, niezależnie od trybu mapowania.
Druga wersja dla CreatePen, jeśli nPenStyle jest PS_GEOMETRIC, szerokość jest podana w jednostkach logicznych.Jeśli nPenStyle jest PS_COSMETIC, szerokość musi być ustawiona na 1.
crColor
Zawiera kolor RGB pióra.pLogBrush
Wskazuje na LOGBRUSH struktury.Jeśli nPenStyle jest PS_COSMETIC, lbColor członek LOGBRUSH struktury Określa kolor pióra i lbStyle członek LOGBRUSH struktura musi być ustawiona na BS_SOLID.Jeśli nPenStyle jest PS_GEOMETRIC, wszystkie elementy członkowskie muszą być używane do określania atrybutów pędzla pióra.nStyleCount
Określa długość, w jednostkach bitowego, z lpStyle tablicy.Wartość ta musi być zero, jeśli nPenStyle nie jest PS_USERSTYLE.lpStyle
Punkty do tablicy wartości bitowego.Pierwsza wartość określa długość pierwszy myślnik w stylu użytkownika, druga wartość określa długość na pierwszym miejscu i tak dalej.Wskaźnik ten musi być NULL czy nPenStyle nie jest PS_USERSTYLE.
Wartość zwracana
Niezerowa, jeśli kończy się pomyślnie, lub zero, jeśli metoda nie działa.
Uwagi
Pierwsza wersja CreatePen inicjuje pióro z określonego stylu, szerokość i kolor.Piórem można następnie wybrane bieżące pióro do wszystkich kontekstów urządzeń.
Pióra, które mają szerokość większą niż 1 piksel powinien zawsze mieć albo PS_NULL, PS_SOLID, lub PS_INSIDEFRAME styl.
Jeśli pióro ma PS_INSIDEFRAME styl i kolor, który nie pasuje do koloru w tablicy kolorów logiczne kolor symulowany rysowanej piórem.PS_SOLID styl pióra, nie można utworzyć pióra z kolor symulowany.Styl PS_INSIDEFRAME jest identyczny z PS_SOLID Jeśli szerokość pióra jest mniejsza lub równa 1.
Druga wersja z CreatePen inicjuje pióro logiczne kosmetycznych lub geometryczne, która ma określony styl, szerokość i szczotki atrybutów.Szerokość pióra kosmetycznych jest zawsze 1; szerokość pióra geometrycznej jest zawsze określona w jednostkach.Po aplikacji tworzy logiczne Pióro, to wybierz że pióro do kontekstu urządzenia przez wywołanie CDC::SelectObject funkcji.Po wybraniu pióra do kontekstu urządzenia służy do rysowania linii i krzywych.
Jeśli nPenStyle jest PS_COSMETIC i PS_USERSTYLE, wpisy w lpStyle tablicy określ długość i spacje w jednostkach stylu.Jednostka styl jest zdefiniowany przez urządzenie, Pióro służy do rysowania linii.
Jeśli nPenStyle jest PS_GEOMETRIC i PS_USERSTYLE, wpisy w lpStyle tablicy określ długość i spacje w jednostkach logicznych.
Jeśli nPenStyle jest PS_ALTERNATE, jednostkę stylu jest ignorowany, a co drugi piksel jest ustawiona.
Gdy aplikacja nie wymaga już danym Pióro, powinna wywołać CGdiObject::DeleteObject Członkowskich funkcji lub zniszczyć CPen obiekt zasób jest już w użyciu.Aplikacja nie należy usuwać Pióro, po wybraniu piórem w kontekście urządzenia.
Przykład
CPen myPen1, myPen2;
// Create a solid red pen of width 2.
myPen1.CreatePen(PS_SOLID, 2, RGB(255,0,0));
// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
myPen2.CreatePen(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
Wymagania
Nagłówek: afxwin.h