LOGBRUSH结构定义了物理画笔的样式,颜色和图案。它由CreateBrushIndirect和ExtCreatePen功能使用。
typedef struct tagLOGBRUSH { // lb
UINT lbStyle;
COLORREF lbColor;
LONG lbHatch;
} LOGBRUSH;
会员
lbStyle
指定画笔样式。lbStyle成员必须是以下样式之一:
值 | 含义 |
BS_DIBPATTERN | 由与设备无关的位图(DIB)规范定义的图案画笔。如果lbStyle是BS_DIBPATTERN,lbHatch成员包含一个打包DIB的句柄。 Windows 95:不支持从位图大于8x8像素的DIB创建画笔。如果给出较大的位图,则仅使用位图的一部分。 |
BS_DIBPATTERN8X8 | 与BS_DIBPATTERN相同。 |
BS_DIBPATTERNPT | 由与设备无关的位图(DIB)规范定义的图案画笔。如果lbStyle是BS_DIBPATTERNPT,则lbHatch成员包含指向打包DIB的指针。 |
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_DIBPATTERNBT,则lbColor的低位字指定BITMAPINFO结构的bmiColors成员是否将明确的红,绿,蓝(RGB)值或索引包含到当前实现的逻辑调色板中。lbColor成员必须是以下值之一:
值 | 含义 |
DIB_PAL_COLORS | 颜色表由当前实现的逻辑调色板中的16位索引的数组组成。 |
DIB_RGB_COLORS | 颜色表包含文字RGB值。 |
lbHatch
指定一个填充样式。意思取决于lbStyle定义的画笔风格。
如果lbStyle是BS_DIBPATTERN,则lbHatch成员包含一个打包DIB的句柄。如果lbStyle是BS_DIBPATTERNPT,则lbHatch成员包含指向打包DIB的指针。
如果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功能可以控制背景颜色。
也可以看看
BITMAPINFO, CreateBrushIndirect, CreateDIBSection, ExtCreatePen, SetBkColor, SetBkMode