LOGBRUSH32結構 (wingdi.h)
LOGBRUSH32結構會定義實體筆刷的樣式、色彩和圖樣。 它類似於 LOGBRUSH,但當我們在一個平台上記錄元文件記錄,然後在另一個平臺上播放它時,用來維護 32 位平臺與 64 位平臺之間的相容性。 因此,它只會用於 EMRCREATEBRORYNDIRECT。 如果程式代碼只位於一個平臺上, LOGBRUSH 就已足夠。
語法
typedef struct tagLOGBRUSH32 {
UINT lbStyle;
COLORREF lbColor;
ULONG lbHatch;
} LOGBRUSH32, *PLOGBRUSH32, *NPLOGBRUSH32, *LPLOGBRUSH32;
成員
lbStyle
筆刷樣式。 lbStyle 成員必須是下列其中一個樣式。
值 | 意義 |
---|---|
BS_DIBPATTERN | 由與裝置無關的點陣圖所定義的圖樣筆刷, (DIB) 規格。 如果 lbStyle 是 BS_DIBPATTERN,lbHatch 成員會包含已封裝 DIB 的句柄。 如需詳細資訊,請參閱 lbHatch 中的討論。 |
BS_DIBPATTERN8X8 | 與BS_DIBPATTERN相同。 |
BS_DIBPATTERNPT | 由與裝置無關的點陣圖所定義的圖樣筆刷, (DIB) 規格。 如果 lbStyle 是 BS_DIBPATTERNPT,lbHatch 成員會包含已封裝 DIB 的指標。 如需詳細資訊,請參閱 lbHatch 中的討論。 |
BS_HATCHED | 影線筆刷。 |
BS_HOLLOW | 空心筆刷。 |
BS_NULL | 與BS_HOLLOW相同。 |
BS_PATTERN | 記憶體位圖所定義的圖樣筆刷。 |
BS_PATTERN8X8 | 與BS_PATTERN相同。 |
BS_SOLID | 實心筆刷。 |
lbColor
要繪製筆刷的色彩。 如果 lbStyle 是BS_HOLLOW或BS_PATTERN樣式, 則會忽略 lbColor 。
如果 lbStyle 是BS_DIBPATTERN或BS_DIBPATTERNPT,lbColor 的低序字會指定 BITMAPINFO 結構的 bmiColors 成員是否包含明確的紅色、綠色、藍色 (RGB) 值或索引到目前實現的邏輯調色盤中。 lbColor 成員必須是下列其中一個值。
值 | 意義 |
---|---|
DIB_PAL_COLORS | 色彩數據表包含16位索引數位陣組到目前實現的邏輯調色盤中。 |
DIB_RGB_COLORS | 色彩表格包含常值 RGB 值。 |
如果 lbStyle 是BS_HATCHED或 BS_SOLID,lbColor 是 COLORREF 色彩值。 若要建立 COLORREF 色彩值,請使用 RGB 宏。
lbHatch
影線樣式。 意義取決於 lbStyle 所定義的筆刷樣式。
如果 lbStyle 是 BS_DIBPATTERN,lbHatch 成員會包含已封裝 DIB 的句柄。 若要取得此句柄,應用程式會使用 GMEM_MOVEABLE (或 LocalAlloc 呼叫 GlobalAlloc 函式,並搭配 LMEM_MOVEABLE) 配置記憶體區塊,然後使用封裝的 DIB 填滿記憶體。 封裝的 DIB 是由 BITMAPINFO 結構所組成,後面緊接著定義點陣圖圖元的位元組陣列。
如果 lbStyle 是 BS_DIBPATTERNPT,lbHatch 成員會包含已封裝 DIB 的指標。 指標衍生自 LocalAlloc 所建立且LMEM_FIXED設定LMEM_FIXED或 GlobalAlloc 設定GMEM_FIXED的記憶體區塊,或者它是 LocalLock (handle_to_the_dib) 之類的呼叫所傳回的指標。 封裝的 DIB 是由 BITMAPINFO 結構所組成,後面緊接著定義點陣圖圖元的位元組陣列。
如果 lbStyle 是 BS_HATCHED,lbHatch 成員會指定用來建立影線的線條方向。 它可以是下列值之一。
值 | 意義 |
---|---|
HS_BDIAGONAL | 向上、由左至右的 45 度影線 |
HS_CROSS | 水平和垂直交叉影線 |
HS_DIAGCROSS | 45 度交叉hatch |
HS_FDIAGONAL | 向下、從左至右的影線 45 度 |
HS_HORIZONTAL | 水平影線 |
HS_VERTICAL | 垂直影線 |
如果 lbStyle 是 BS_PATTERN,lbHatch 是定義圖樣之點陣圖的句柄。 位圖不能是由 CreateDIBSection 函式建立的 DIB 區段位圖。
如果 lbStyle 是BS_SOLID或BS_HOLLOW, 則會忽略 lbHatch 。
備註
雖然 lbColor 控制影線筆刷的前景色彩, 但 SetBkMode 和 SetBkColor 函式會控制背景色彩。
筆刷可以從位圖或大於 8 x 8 像素的 DIB 建立。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | wingdi.h (包含 Windows.h) |