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) 規格。 如果 lbStyleBS_DIBPATTERN,lbHatch 成員會包含已封裝 DIB 的句柄。 如需詳細資訊,請參閱 lbHatch 中的討論。
BS_DIBPATTERN8X8 與BS_DIBPATTERN相同。
BS_DIBPATTERNPT 由與裝置無關的點陣圖所定義的圖樣筆刷, (DIB) 規格。 如果 lbStyleBS_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,lbColorCOLORREF 色彩值。 若要建立 COLORREF 色彩值,請使用 RGB 宏。

lbHatch

影線樣式。 意義取決於 lbStyle 所定義的筆刷樣式。

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

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

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

意義
HS_BDIAGONAL 向上、由左至右的 45 度影線
HS_CROSS 水平和垂直交叉影線
HS_DIAGCROSS 45 度交叉hatch
HS_FDIAGONAL 向下、從左至右的影線 45 度
HS_HORIZONTAL 水平影線
HS_VERTICAL 垂直影線
 

如果 lbStyleBS_PATTERN,lbHatch 是定義圖樣之點陣圖的句柄。 位圖不能是由 CreateDIBSection 函式建立的 DIB 區段位圖。

如果 lbStyle 是BS_SOLID或BS_HOLLOW, 則會忽略 lbHatch

備註

雖然 lbColor 控制影線筆刷的前景色彩, 但 SetBkModeSetBkColor 函式會控制背景色彩。

筆刷可以從位圖或大於 8 x 8 像素的 DIB 建立。

規格需求

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

另請參閱

BITMAPINFO

筆刷結構

筆刷概觀

COLORREF

CreateDIBSection

EMRCREATEBRORYNDIRECT

LOGBRUSH

RGB

SetBkColor

SetBkMode