EXTLOGPEN-Struktur (wingdi.h)

Die EXTLOGPEN-Struktur definiert das Stiftformat, die Breite und die Pinselattribute für einen erweiterten Stift. Diese Struktur wird von der GetObject-Funktion verwendet, wenn sie eine Beschreibung eines Stifts abruft, der erstellt wurde, als eine Anwendung die ExtCreatePen-Funktion aufgerufen hat.

Syntax

typedef struct tagEXTLOGPEN {
  DWORD     elpPenStyle;
  DWORD     elpWidth;
  UINT      elpBrushStyle;
  COLORREF  elpColor;
  ULONG_PTR elpHatch;
  DWORD     elpNumEntries;
  DWORD     elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;

Member

elpPenStyle

Eine Kombination aus Stifttyp, Stil, Endkappenformat und Verknüpfungsstil. Die Werte aus jeder Kategorie können mithilfe eines bitweisen AND-Operators mit der entsprechenden Maske abgerufen werden.

Das elpPenStyle-Element , das mit PS_TYPE_MASK maskiert ist, weist einen der folgenden Stifttypwerte auf.

Wert Bedeutung
PS_GEOMETRIC Der Stift ist geometrisch.
PS_COSMETIC Der Stift ist kosmetisch.
 

Das elpPenStyle-Element , das mit PS_STYLE_MASK maskiert ist, verfügt über einen der folgenden Stiftformatvorlagenwerte:

Wert Bedeutung
PS_DASH Der Stift ist gestrichelt.
PS_DASHDOT Der Stift verfügt über abwechselnde Bindestriche und Punkte.
PS_DASHDOTDOT Der Stift verfügt über abwechselnde Bindestriche und doppelte Punkte.
PS_DOT Der Stift ist gepunktet.
PS_INSIDEFRAME Der Stift ist fest. Wenn dieser Stift in einer GDI-Zeichenfunktion verwendet wird, die ein umgebendes Rechteck akzeptiert, werden die Abmessungen der Figur verkleinert, sodass sie vollständig in das umgebende Rechteck passt, wobei die Breite des Stifts berücksichtigt wird. Dies gilt nur für PS_GEOMETRIC Stifte.
PS_NULL Der Stift ist unsichtbar.
PS_SOLID Der Stift ist fest.
PS_USERSTYLE Der Stift verwendet ein vom Benutzer bereitgestelltes Formatierungsarray.
 

Die folgende Kategorie gilt nur für PS_GEOMETRIC Stifte. Das elpPenStyle-Element , das mit PS_ENDCAP_MASK maskiert ist, weist einen der folgenden Endkappenwerte auf.

Wert Bedeutung
PS_ENDCAP_FLAT Die Endkappen der Linie sind flach.
PS_ENDCAP_ROUND Die Endkappen der Linie sind rund.
PS_ENDCAP_SQUARE Linienendekappen sind quadratisch.
 

Die folgende Kategorie gilt nur für PS_GEOMETRIC Stifte. Das elpPenStyle-Element , das mit PS_JOIN_MASK maskiert ist, weist einen der folgenden Joinwerte auf.

Wert Bedeutung
PS_JOIN_BEVEL Linienjoins sind abgeschrägt.
PS_JOIN_MITER Zeilenjoins werden gemildet, wenn sie innerhalb des aktuellen Grenzwerts liegen, der von der SetMiterLimit-Funktion festgelegt wird. Ein Join wird abgeschrägt, wenn er den Grenzwert überschreiten würde.
PS_JOIN_ROUND Zeilenjoins sind rund.

elpWidth

Die Breite des Stifts. Wenn der elpPenStyle-Member PS_GEOMETRIC ist, ist dieser Wert die Breite der Linie in logischen Einheiten. Andernfalls sind die Linien kosmetisch, und dieser Wert ist 1, was eine Linie mit einer Breite von einem Pixel angibt.

elpBrushStyle

Der Pinselstil des Stifts. Der elpBrushStyle-Memberwert kann einer der folgenden Sein:

Wert Bedeutung
BS_DIBPATTERN Gibt einen Musterpinsel an, der durch eine DIB-Spezifikation definiert wird. Wenn elpBrushStyle BS_DIBPATTERN ist, enthält der elpHatch-Member ein Handle für einen gepackten DIB. Weitere Informationen finden Sie in der Diskussion in elpHatch.
BS_DIBPATTERNPT Gibt einen Musterpinsel an, der durch eine DIB-Spezifikation definiert wird. Wenn elpBrushStyle BS_DIBPATTERNPT ist, enthält der elpHatch-Member einen Zeiger auf einen gepackten DIB. Weitere Informationen finden Sie unter Diskussion in elpHatch.
BS_HATCHED Gibt einen geschlüpften Pinsel an.
BS_HOLLOW Gibt einen Hohl- oder NULL-Pinsel an.
BS_PATTERN Gibt einen Musterpinsel an, der durch eine Speicherbitbitte definiert wird.
BS_SOLID Gibt einen Volltonpinsel an.

elpColor

Wenn elpBrushStyle BS_SOLID oder BS_HATCHED ist, gibt elpColor die Farbe an, in der der Stift gezeichnet werden soll. Für BS_HATCHED bestimmen die Funktionen SetBkMode und SetBkColor die Hintergrundfarbe.

Wenn elpBrushStyle BS_HOLLOW oder BS_PATTERN ist, wird elpColor ignoriert.

Wenn elpBrushStyle BS_DIBPATTERN oder BS_DIBPATTERNPT ist, gibt das Wort mit niedriger Ordnung von elpColor an, ob der bmiColors-Member der BITMAPINFO-Struktur explizite RGB-Werte oder Indizes in der aktuell realisierten logischen Palette enthält. Der elpColor-Wert muss einer der folgenden Werte sein.

Wert Bedeutung
DIB_PAL_COLORS Die Farbtabelle besteht aus einem Array von 16-Bit-Indizes in der derzeit realisierten logischen Palette.
DIB_RGB_COLORS Die Farbtabelle enthält RGB-Literalwerte.
 

Das RGB-Makro wird verwendet, um eine COLORREF-Struktur zu generieren.

elpHatch

Wenn elpBrushStyle BS_PATTERN ist, ist elpHatch ein Handle für die Bitmap, die das Muster definiert.

Wenn elpBrushStyle BS_SOLID oder BS_HOLLOW ist, wird elpHatch ignoriert.

Wenn elpBrushStyle BS_DIBPATTERN ist, ist der elpHatch-Member ein Handle für einen verpackten DIB. Um dieses Handle zu erhalten, ruft eine Anwendung die GlobalAlloc-Funktion mit GMEM_MOVEABLE (oder LocalAlloc mit LMEM_MOVEABLE) auf, um einen Speicherblock zuzuweisen, und füllt den Speicher dann mit dem gepackten DIB auf. Ein gepackter DIB besteht aus einer BITMAPINFO-Struktur , unmittelbar gefolgt von dem Bytearray, das die Pixel der Bitmap definiert.

Wenn elpBrushStyle BS_DIBPATTERNPT ist, ist der elpHatch-Member ein Zeiger auf einen gepackten DIB. Der Zeiger leitet sich von dem Speicherblock ab, der von LocalAlloc mit LMEM_FIXED oder von GlobalAlloc mit GMEM_FIXED Satz erstellt wurde, oder es handelt sich um den Zeiger, der von einem Aufruf wie LocalLock (handle_to_the_dib) zurückgegeben wird. Ein gepackter DIB besteht aus einer BITMAPINFO-Struktur unmittelbar gefolgt von dem Bytearray, das die Pixel der Bitmap definiert.

Wenn elpBrushStyle BS_HATCHED ist, gibt das elpHatch-Element die Ausrichtung der Linien an, die zum Erstellen der Luke verwendet werden. Dieses Argument einen der folgenden Werte annehmen.

Wert Bedeutung
HS_BDIAGONAL 45 Grad Aufwärtsluke (von links nach rechts)
HS_CROSS Horizontaler und vertikaler Querstrich
HS_DIAGCROSS 45-Grad-Kreuzhatch
HS_FDIAGONAL 45 Grad Nach unten Luke (von links nach rechts)
HS_HORIZONTAL Horizontale Luke
HS_VERTICAL Vertikale Luke

elpNumEntries

Die Anzahl der Einträge im Formatarray im elpStyleEntry-Member . Dieser Wert ist 0, wenn elpPenStyle nicht PS_USERSTYLE angibt.

elpStyleEntry[1]

Ein vom Benutzer bereitgestelltes Formatarray. Das Array wird mit einer endlichen Länge angegeben, aber es wird so verwendet, als würde es unbegrenzt wiederholt. Der erste Eintrag im Array gibt die Länge des ersten Bindestrichs an. Der zweite Eintrag gibt die Länge der ersten Lücke an. Danach wechseln sich längen von Bindestrichen und Lücken ab.

Wenn elpWidth geometrische Linien angibt, werden die Längen in logischen Einheiten angegeben. Andernfalls sind die Linien kosmetisch, und die Längen befinden sich in Geräteeinheiten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile wingdi.h (einschließlich Windows.h)

Weitere Informationen

BITMAPINFO

COLORREF

ExtCreatePen

GetObject

Stiftstrukturen

Stiftübersicht

RGB

SetBkColor

SetBkMode