共用方式為


EXTLOGPEN 結構 (wingdi.h)

EXTLOGPEN 結構會定義擴充畫筆的畫筆樣式、寬度和筆刷屬性。 當 GetObject 函式擷取呼叫 ExtCreatePen 函式時所建立之手寫筆的描述時,會使用此結構。

語法

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

成員

elpPenStyle

手寫筆類型、樣式、端點樣式和聯結樣式的組合。 您可以使用具有適當遮罩的位 AND 運算符來擷取每個類別的值。

以 PS_TYPE_MASK 遮罩 的 elpPenStyle 成員具有下列其中一個畫筆類型值。

意義
PS_GEOMETRIC 手寫筆是幾何的。
PS_COSMETIC 手寫筆很美觀。
 

以 PS_STYLE_MASK遮罩 的 elpPenStyle 成員具有下列其中一個畫筆樣式值:

意義
PS_DASH 手寫筆虛線。
PS_DASHDOT 手寫筆有交替的虛線和點。
PS_DASHDOTDOT 手寫筆有交替的虛線和雙點。
PS_DOT 畫筆會虛線。
PS_INSIDEFRAME 手寫筆是實心的。 當此畫筆用於採用周框的任何 GDI 繪圖函式時,圖表的維度會縮小,使其完全符合周框,並考慮畫筆的寬度。 這隻適用於PS_GEOMETRIC筆。
PS_NULL 手寫筆不可見。
PS_SOLID 手寫筆是實心的。
PS_USERSTYLE 手寫筆會使用使用者所提供的樣式數位。
 

下列類別僅適用於PS_GEOMETRIC畫筆。 以 PS_ENDCAP_MASK 遮罩 的 elpPenStyle 成員具有下列其中一個結束上限值。

意義
PS_ENDCAP_FLAT 線條結束上限是平面的。
PS_ENDCAP_ROUND 行尾上限為四捨五入。
PS_ENDCAP_SQUARE 線條結束上限是正方形。
 

下列類別僅適用於PS_GEOMETRIC畫筆。 以 PS_JOIN_MASK 遮罩 的 elpPenStyle 成員具有下列其中一個聯結值。

意義
PS_JOIN_BEVEL 線條聯結會斜面。
PS_JOIN_MITER 當行聯結在 SetMiterLimit 函式所設定的目前限制內時,就會遭到斜線聯結。 當聯結超過限制時,聯結就會浮凸。
PS_JOIN_ROUND 線條聯結會四捨五入。

elpWidth

手寫筆的寬度。 如果 elpPenStyle 成員是PS_GEOMETRIC,則此值是以邏輯單元表示線條的寬度。 否則,線條是外觀,此值為1,表示寬度為一像素的線條。

elpBrushStyle

手寫筆的筆刷樣式。 elpBrushStyle 成員值可以是下列其中一個。

意義
BS_DIBPATTERN 指定 DIB 規格所定義的圖樣筆刷。 如果 elpBrushStyleBS_DIBPATTERN,elpHatch 成員會包含已封裝 DIB 的句柄。 如需詳細資訊,請參閱 elpHatch 中的討論
BS_DIBPATTERNPT 指定 DIB 規格所定義的圖樣筆刷。 如果 elpBrushStyleBS_DIBPATTERNPT,elpHatch 成員會包含已封裝 DIB 的指標。 如需詳細資訊,請參閱 elpHatch 中的討論。
BS_HATCHED 指定影線筆刷。
BS_HOLLOW 指定空心筆刷或 NULL 筆刷。
BS_PATTERN 指定記憶體位圖所定義的圖樣筆刷。
BS_SOLID 指定純色筆刷。

elpColor

如果 elpBrushStyle 是BS_SOLID或 BS_HATCHED,elpColor 會指定要繪製畫筆的色彩。 對於 BS_HATCHED,SetBkModeSetBkColor 函式會決定背景色彩。

如果 elpBrushStyle 是BS_HOLLOW或BS_PATTERN, 則會忽略 elpColor

如果 elpBrushStyle 是BS_DIBPATTERN或BS_DIBPATTERNPT,elpColor 的低序字會指定 BITMAPINFO 結構的 bmiColors 成員是否包含目前實現的邏輯調色盤中的明確 RGB 值或索引。 elpColor 值必須是下列其中一項。

意義
DIB_PAL_COLORS 色彩數據表包含16位索引的陣列,組成目前實現的邏輯調色盤。
DIB_RGB_COLORS 色彩數據表包含常值 RGB 值。
 

RGB 宏是用來產生 COLORREF 結構。

elpHatch

如果 elpBrushStyleBS_PATTERN,elpHatch 是定義模式的點陣圖句柄。

如果 elpBrushStyle 是BS_SOLID或BS_HOLLOW, 則會忽略 elpHatch

如果 elpBrushStyleBS_DIBPATTERN,elpHatch 成員是已封裝 DIB 的句柄。 若要取得此句柄,應用程式會呼叫 具有 GMEM_MOVEABLE (或 LocalAlloc 的 GlobalAlloc 函式,並搭配 LMEM_MOVEABLE) 來配置記憶體區塊,然後使用封裝的 DIB 填滿記憶體。 封裝的 DIB 是由 BITMAPINFO 結構所組成,後面接著定義點圖圖元的位元組陣列。

如果 elpBrushStyleBS_DIBPATTERNPT,elpHatch 成員是已封裝 DIB 的指標。 指標衍生自 LocalAlloc 所建立的記憶體區塊,其中已設定LMEM_FIXED,或由已設定 GMEM_FIXED的 GlobalAlloc 所建立,或是 由LocalLock (handle_to_the_dib) 之類的呼叫所傳回的指標。 封裝的 DIB 是由 BITMAPINFO 結構所組成,後面接著定義點圖圖元的位元組陣列。

如果 elpBrushStyleBS_HATCHED,elpHatch 成員會指定用來建立影線的線條方向。 它可以是下列值之一。

意義
HS_BDIAGONAL 45 度向上影線 (由左至右)
HS_CROSS 水平和垂直交叉切線
HS_DIAGCROSS 45 度交叉擷取
HS_FDIAGONAL 45度向下影線 (由左至右)
HS_HORIZONTAL 水平影線
HS_VERTICAL 垂直影線

elpNumEntries

elpStyleEntry 成員中樣式數位中的項目數。 如果 elpPenStyle 未指定PS_USERSTYLE,這個值會是零。

elpStyleEntry[1]

使用者提供的樣式陣列。 陣列是以有限的長度指定,但會使用,就像是無限期重複一樣。 陣列中的第一個專案會指定第一個虛線的長度。 第二個專案會指定第一個間距的長度。 之後,虛線和間距的長度會替代。

如果 elpWidth 指定幾何線,長度會以邏輯單位表示。 否則,線條是外觀,長度是裝置單位。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 wingdi.h (包含 Windows.h)

另請參閱

BITMAPINFO

COLORREF

ExtCreatePen

GetObject

手寫筆結構

手寫筆概觀

RGB

SetBkColor

SetBkMode