LOGBRUSH结构

LOGBRUSH结构具有如下形式:
typedef struct tag LOGBRUSH
{ /* lb */
  UINT      lbStyle;
  COLORREF  lbColor;
  LONG      lbHatch;
} LOGBRUSH;

LOGBRUSH结构定义了物理刷子的风格、颜色和模板。它被Windows的CreateBrushIndirect和ExtCreatePen函数使用。

成员:
lbStyle指定了刷子的风格。lbStyle成员必须是以下风格之一:
BS_DIBPATTERN一个代模板的刷子,用设备无关位图(DIB)来定义。如果lbStyle为BS_DIBPATTERN,那么lbHatch成员中包含了压缩DIB的句柄。
BS_DIBPATTERNPT一个代模板的刷子,用设备无关位图(DIB)来定义。如果lbStyle为BS_DIBPATTERNPT,那么lbHatch成员中包含了指向压缩DIB的指针。
BS_HATCHED阴影刷子。
BS_HOLLOW空刷子。
BS_NULL与BS_HOLLOW相同。
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_BDIAGONAL45度向上,从左到右的阴影。
·HS_CROSS纵横交叉的阴影。
·HS_DIAGCROSS45度交叉的阴影。
·HS_FDIAGONAL45度向下,从左到右的阴影。
·HS_HORIZONTAL水平阴影。
·HS_VERTICAL垂直阴影。
如果lbStyle是BS_PATTERN,则lbHatch为定义了模板的位图句柄。如果lbStyle为BS_SOLID或BS_HOLLOW,则lbHatch被忽略。

注释:
lbColor控制着阴影刷子的前景色,CDC::SetBkMode和CDC::SetBkColorbm函数控制着背景色。

请参阅:CDC::GetCharABCWidths