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