logBRUSH 結構 (wingdi.h)
LOGBRUSH結構會定義實體筆刷的樣式、色彩和圖樣。 CreateBrushIndirect和ExtCreatePen函式會使用它。
語法
typedef struct tagLOGBRUSH {
UINT lbStyle;
COLORREF lbColor;
ULONG_PTR lbHatch;
} LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;
成員
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 函式會控制背景色彩。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | wingdi.h (包含 Windows.h) |