logBRUSH 结构 (wingdi.h)

LOGBRUSH 结构定义物理画笔的样式、颜色和图案。 它由 CreateBrushIndirectExtCreatePen 函数使用。

语法

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, 则 lbColorCOLORREF 颜色值。 若要创建 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 控制阴影画笔的前景色, 但 SetBkModeSetBkColor 函数控制背景色。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 wingdi.h (包括 Windows.h)

另请参阅

BITMAPINFO

画笔结构

画笔概述

COLORREF

CreateBrushIndirect

CreateDIBSection

ExtCreatePen

LOGBRUSH32

RGB

SetBkColor

SetBkMode