Freigeben über


CPen::CPen

Erstellt ein CPen-Objekt.

CPen( ); 
CPen( 
   int nPenStyle, 
   int nWidth, 
   COLORREF crColor  
); 
CPen( 
   int nPenStyle, 
   int nWidth, 
   const LOGBRUSH* pLogBrush, 
   int nStyleCount = 0, 
   const DWORD* lpStyle = NULL  
);

Parameter

  • nPenStyle
    Gibt das Stiftsformat an. Dieser Parameter in der ersten Version des Konstruktors kann einer der folgenden Werte sein:

    • PS_SOLID stellt einen durchgehenden Stift erstellt.

    • PS_DASH stellt einen gestrichelten Stift erstellt. Nur wenn die Stiftbreite 1 oder weniger ist, in den Geräteeinheiten.

    • PS_DOT stellt einen gepunkteten Stift erstellt. Nur wenn die Stiftbreite 1 oder weniger ist, in den Geräteeinheiten.

    • PS_DASHDOT stellt einen Stift mit abwechselndem Bindestrich und Punkten. Nur wenn die Stiftbreite 1 oder weniger ist, in den Geräteeinheiten.

    • PS_DASHDOTDOT stellt einen Stift mit abwechselndem Bindestrich und Doppelpunkten erstellt. Nur wenn die Stiftbreite 1 oder weniger ist, in den Geräteeinheiten.

    • PS_NULL stellt einen NULL Stift erstellt.

    • PS_INSIDEFRAME stellt einen Stift erstellt, der eine Zeile innerhalb der Rahmen in den geschlossener Formen gezeichnet wird, der durch die Windows GDI-Ausgabefunktionen erzeugt werden, die ein umschließendes Rechteck angeben (beispielsweise, Ellipse, Rectangle, RoundRect, Pie und Chord-Memberfunktionen). Ist dieses Format mit Windows GDI-Ausgabefunktionen verwendet wird, die kein umschließendes Rechteck (beispielsweise, die LineTo-Memberfunktion) angeben, wird der Zeichnungsbereich des Stiftes nicht von Frames beschränkt.

    Die zweite Version des CPen-Konstruktors gibt eine Kombination des Typs, des Formats, des Linienendes und der Joinattribute an. Die Werte von jeder Kategorie sollten kombiniert werden, indem Sie den bitweisen Operator OR verwendet (|). Der Stiftstyp kann einer der folgenden Werte sein:

    • PS_GEOMETRIC stellt einen geometrischen Stift erstellt.

    • PS_COSMETIC stellt einen kosmetischen Stift erstellt.

      Die zweite Version des CPen-Konstruktors fügt die folgenden Stiftsformate für nPenStyle hinzu:

    • PS_ALTERNATE stellt einen Stift erstellt, der jedes andere Pixel festgelegt wird. (Dieses Format ist nur für kosmetische Stifte anwendbar).

    • PS_USERSTYLE stellt einen Stift erstellt, der ein Array formatierendes verwendet, das vom Benutzer angegeben wird.

      Das Linienende kann einer der folgenden Werte sein:

    • PS_ENDCAP_ROUND Linienenden sind rund.

    • PS_ENDCAP_SQUARE Linienenden sind Quadrat.

    • PS_ENDCAP_FLAT Linienenden sind flach.

      Der Join kann einer der folgenden Werte sein:

    • PS_JOIN_BEVEL Joins werden abgeschrägt.

    • PS_JOIN_MITER Joins werden eine, wenn sie in der Strombegrenzung sind, die durch die SetMiterLimit-Funktion eingerichtet wurde. Wenn der Join auf diese Grenze überschreitet, wird er abgeschrägt.

    • PS_JOIN_ROUND Joins sind rund.

  • nWidth
    Gibt die Breite des Stiftes an.

    • Für die erste Version des Konstruktors, wenn dieser Wert 0 ist, ist die Breite in den Geräteeinheiten immer 1 Pixel, unabhängig vom Zuordnungsmodus.

    • Für die zweite Version des Konstruktors, wenn nPenStylePS_GEOMETRIC ist, wird die Breite in logischen Einheiten angegeben. Wenn nPenStylePS_COSMETIC ist, muss die Breite auf 1. festgelegt werden.

  • crColor
    Enthält eine RGB-Farbe für den Stift.

  • pLogBrush
    zeigt auf eine LOGBRUSH-Struktur. Wenn nPenStylePS_COSMETIC handelt, wird der lbColor-Member der Struktur LOGBRUSH die Farbe des Stiftes an und der lbStyle-Member der Struktur LOGBRUSH muss auf BS_SOLID festgelegt werden. Wenn nPenStylePS_GEOMETRIC ist, müssen alle Member verwendet werden, um die Pinselattribute des Stiftes anzugeben.

  • nStyleCount
    Gibt die Länge, in den Doppelworteinheiten, des lpStyle Arrays an. Dieser Wert muss gleich sein, wenn nPenStyle nicht PS_USERSTYLE ist.

  • lpStyle
    Punkte in einem Array Doppelwortwerten. Der erste Wert gibt die Länge des ersten Bindestrichs in einem benutzerdefinierten Format, der zweite Wert an die Länge des ersten Abstands, usw. an. Dieser Zeiger muss NULL sein, wenn nPenStyle nicht PS_USERSTYLE ist.

Hinweise

Wenn Sie den Konstruktor ohne Argumente verwenden, müssen Sie das resultierende CPen-Objekt mit CreatePen, CreatePenIndirect oder CreateStockObject-Memberfunktionen initialisieren.

Wenn Sie den Konstruktor verwenden, der Argumente akzeptiert, ist keine weitere Initialisierung erforderlich. Der Konstruktor mit Argumenten kann eine Ausnahme auslösen, wenn Fehler auftreten, während der Konstruktor ohne Argumente immer folgt.

Beispiel

// 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);

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CPen-Klasse

Hierarchiediagramm

CPen::CreatePen

CPen::CreatePenIndirect

CGdiObject::CreateStockObject