CPen::CreatePen
Vytvoří logické kosmetických nebo geometrické pera s určený styl, šířku a štětec atributy a připojí jej CPen objektu.
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
Určuje styl pera.Seznam možných hodnot naleznete nPenStyle parametr v CPen konstruktor.nWidth
Určuje šířku pera.Pro první verzi CreatePen, pokud je tato hodnota 0, šířka v jednotkách zařízení je vždy 1 obrazový bod, bez ohledu na režim mapování.
Druhá verze CreatePen, pokud nPenStyle je PS_GEOMETRIC, šířka je uveden v logické jednotky.Pokud nPenStyle je PS_COSMETIC, šířka musí být nastavena na 1.
crColor
Obsahuje RGB barva pro pero.pLogBrush
Odkazuje LOGBRUSH struktury.Pokud nPenStyle je PS_COSMETIC, lbColor člen LOGBRUSH struktura Určuje barvu pera a lbStyle člen LOGBRUSH struktury musí být nastavena na BS_SOLID.Pokud nPenStyle je PS_GEOMETRIC, všechny členy musí použít k určení atributů stopy pera.nStyleCount
Určuje délku v jednotkách doubleword lpStyle pole.Tato hodnota musí být nulu pokud nPenStyle není PS_USERSTYLE.lpStyle
Body pole hodnoty doubleword.První hodnota určuje délku první pomlčkou v uživatelem definovaný styl, druhá hodnota určuje délku první místo atd.Tento ukazatel musí být NULL li nPenStyle není PS_USERSTYLE.
Vrácená hodnota
Nenulová, pokud je úspěšná, nebo jestliže metoda selže.
Poznámky
První verze CreatePen inicializuje určený styl, šířku a barvu pera.Pero můžete následně vybrány jako aktuální pero pro libovolný kontext zařízení.
Pera, které mají šířku větší než 1 obrazový bod by měl mít vždy buď PS_NULL, PS_SOLID, nebo PS_INSIDEFRAME stylu.
Pokud má pero PS_INSIDEFRAME styl a barvu, která neodpovídá barev v tabulce barev logické perem nakreslen tónované barvy.PS_SOLID styl pera nelze vytvořit s rozloženou barvu pera.Styl PS_INSIDEFRAME je totožný s PS_SOLID Pokud šířka pera je menší než 1.
Druhá verze CreatePen inicializuje logické kosmetických nebo geometrické pera, zadaný styl, šířku a štětec atributy.Šířka pera kosmetických prostředků je vždy 1; v jednotkách světa je vždy určena šířka geometrické pera.Po aplikaci vytvoří logické pera, ji vyberte pera do kontextu zařízení voláním CDC::SelectObject funkce.Po výběru se pero do kontextu zařízení lze použít ke kreslení čar a křivek.
Pokud nPenStyle je PS_COSMETIC a PS_USERSTYLE, položky lpStyle pole zadat styl jednotek délky čárek a mezer.Jednotka styl je definován zařízení, ve kterém se používá pero nakreslete čáru.
Pokud nPenStyle je PS_GEOMETRIC a PS_USERSTYLE, položky lpStyle pole určit délky čárek a mezer v logických jednotek.
Pokud nPenStyle je PS_ALTERNATE, jednotku stylu je ignorován a nastavit každý obrazový bod.
Pokud aplikace vyžaduje již daný pera, by měla volat CGdiObject::DeleteObject členské funkce nebo zničit CPen objekt tak, že zdroj je již používán.Aplikace by neměl odstranit pera pera vybrán v kontextu zařízení.
Příklad
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);
Požadavky
Záhlaví: afxwin.h