CPen::CPen
Konstrukcje CPen obiektu.
CPen( );
CPen(
int nPenStyle,
int nWidth,
COLORREF crColor
);
CPen(
int nPenStyle,
int nWidth,
const LOGBRUSH* pLogBrush,
int nStyleCount = 0,
const DWORD* lpStyle = NULL
);
Parametry
nPenStyle
Określa styl pióra.Ten parametr w pierwszej wersji konstruktora może być jedną z następujących wartości:PS_SOLID tworzy stałe pióra.
PS_DASH tworzy kreskowane pióra.Prawidłowy tylko wtedy, gdy szerokość pióra jednostek 1 lub mniej w urządzeniu.
PS_DOT tworzy kropkowane pióra.Prawidłowy tylko wtedy, gdy szerokość pióra jednostek 1 lub mniej w urządzeniu.
PS_DASHDOT tworzy pióro z przemian kresek i kropek.Prawidłowy tylko wtedy, gdy szerokość pióra jednostek 1 lub mniej w urządzeniu.
PS_DASHDOTDOT tworzy pióro z przemian kresek i kropek podwójne.Prawidłowy tylko wtedy, gdy szerokość pióra jednostek 1 lub mniej w urządzeniu.
PS_NULL tworzy null pióra.
PS_INSIDEFRAME tworzy Pióro rysuje wewnątrz ramki kształtów zamkniętych produkowane przez funkcje wyjścia GDI systemu Windows, które prostokąta obwiedni (na przykład Elipsa, prostokąt, RoundRect, Pie, i Chord funkcji elementów członkowskich).Kiedy ten styl jest używana z funkcjami wyjścia GDI systemu Windows, które nie określono prostokąta obwiedni (na przykład LineTo Członkowskich funkcji), ramki obszaru rysowania pióra nie jest ograniczona.
Druga wersja z CPen Konstruktor określa kombinację typ, styl, zakończenie i atrybuty sprzężenia.Wartości z każdej kategorii powinny zostać połączone za pomocą operatora OR logiczną (|).Typ pióra może być jedną z następujących wartości:
PS_GEOMETRIC tworzy geometryczne pióra.
PS_COSMETIC tworzy kosmetycznych pióra.
Druga wersja z CPen Konstruktor dodaje następujące style pióra dla nPenStyle:
PS_ALTERNATE tworzy pióro ustawia co drugi piksel.(Styl ten ma zastosowanie tylko dla piór kosmetycznych).
PS_USERSTYLE tworzy pióro wykorzystuje tablicę stylizacji dostarczonych przez użytkownika.
Zakończenie może być jedną z następujących wartości:
PS_ENDCAP_ROUND zakończenia są okrągłe.
PS_ENDCAP_SQUARE zakończenia są kwadratowe.
PS_ENDCAP_FLAT zakończenia są płaskie.
Sprzężenie może być jedną z następujących wartości:
PS_JOIN_BEVEL ukośne są sprzężenia.
PS_JOIN_MITER mitered są sprzężenia, gdy w bieżącym określonym przez SetMiterLimit funkcji.Jeśli sprzężenie przekracza ten limit, to ukośne.
PS_JOIN_ROUND sprzężenia są okrągłe.
nWidth
Określa szerokość pióra.Dla pierwszej wersji konstruktora Jeśli ta wartość jest równa 0, szerokość w jednostkach urządzenia jest zawsze 1 piksel, niezależnie od trybu mapowania.
Dla drugiego wersję konstruktora Jeśli nPenStyle jest PS_GEOMETRIC, szerokość jest podane 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 strukturę określa kolor pióra i lbStyle członek LOGBRUSH musi być ustawiona struktura BS_SOLID.Jeśli nPenStyle jest PS_GEOMETRIC, wszyscy członkowie muszą być używane do określania atrybutów pędzla pióra.nStyleCount
Określa długość liczbę jednostek, lpStyle tablicy.Ta wartość musi być zero, jeśli nPenStyle nie jest PS_USERSTYLE.lpStyle
Wskazuje liczbę wartości tablicy.Pierwsza wartość określa długość pierwszy myślnik styl zdefiniowany przez użytkownika, druga wartość określa długość pierwszej spacji i tak dalej.Wskaźnik ten musi być NULL Jeśli nPenStyle nie jest PS_USERSTYLE.
Uwagi
Użycie konstruktora bez argumentów, musisz zainicjować wynikowy CPen obiekt z CreatePen, CreatePenIndirect, lub CreateStockObject funkcji elementów członkowskich.
Użycie konstruktora, która przyjmuje argumenty, nie dalsze inicjowania jest konieczne.Argumenty konstruktora można Zgłoś wyjątek, jeśli wystąpią błędy, podczas gdy konstruktora bez argumentów zawsze kończy się pomyślnie.
Przykład
// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));
// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
Wymagania
Nagłówek: afxwin.h