Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Třída CPen

Diagram hierarchie

CPen::CreatePenIndirect

CPen::CPen

CGdiObject::DeleteObject

LOGBRUSH