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 (调用 GlobalAlloc 函数或具有 LMEM_MOVEABLE) 的 LocalAlloc 函数来分配内存块,然后使用打包的 DIB 填充内存。 打包的 DIB 由 BITMAPINFO 结构组成,后跟定义位图像素的字节数组。
如果 lbStyle BS_DIBPATTERNPT,则 lbHatch 成员包含指向已打包 DIB 的指针。 指针派生自具有LMEM_FIXED集 的 LocalAlloc 创建的内存块,或由设置了 GMEM_FIXED 的 GlobalAlloc 创建的内存块,或者它是由 LocalLock (handle_to_the_dib) 等调用返回的指针。 打包的 DIB 由 BITMAPINFO 结构组成,后跟定义位图像素的字节数组。
如果 lbStyle BS_HATCHED,则 lbHatch 成员指定用于创建阴影的线条的方向。 可以是下列值之一。
值 | 含义 |
---|---|
HS_BDIAGONAL | 向上 45 度,从左到右阴影 |
HS_CROSS | 水平和垂直交叉阴影 |
HS_DIAGCROSS | 45 度交叉截断 |
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) |