鱼C论坛

 找回密码
 立即注册
查看: 5836|回复: 3

[API档案] LOGBRUSH 结构

[复制链接]
发表于 2014-11-6 12:54:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
LOGBRUSH 结构

LOGBRUSH 结构定义了逻辑画刷的样式,颜色和图案。

CreateBrushIndirect 函数和 ExtCreatePen 函数需要使用到该结构。


结构原型:
typedef struct tagLOGBRUSH {
  UINT      lbStyle;
  COLORREF  lbColor;
  ULONG_PTR lbHatch;
} LOGBRUSH, *PLOGBRUSH;

成员解析:

成员 含义
lbStyle指定画刷的样式,该成员决定着 Windows 如何解释另外的两个成员:
含义
BS_DIBPATTERN 1. 带图案的刷子,由设备无关位图(DIB)来定义
2. lbHatch 成员应该是 DIB 的句柄
BS_DIBPATTERN8X8 同 BS_DIBPATTERN
BS_DIBPATTERNPT 1. 带图案的刷子,由设备无关位图(DIB)来定义
2. lbHatch 成员应该是指向 DIB 的指针
BS_HATCHED 阴影画刷
BS_HOLLOW 空画刷
BS_NULL 同 BS_HOLLOW
BS_PATTERN 由内存位图定义的画刷
BS_PATTERN8X8 同 BS_PATTERN
BS_SOLID 实心画刷
lbColor 1. 指定画刷的颜色
2. 如果 lbStyle 成员的值是 BS_HOLLOW 或 BS_PATTERN,该值被忽略
3. 如果 lbStyle 成员的值是 BS_DIBPATTERN 或 BS_DIBPATTERNPT,该值的低 8 位指定 BITMAPINFO 结构中的 bmiColors 成员,包含明确的 RGB 值或当前调色板的索引值:
含义
DIB_PAL_COLORS 包含了当前使用的逻辑调色板中的 16 位索引数组的颜色表
DIB_RGB_COLORS 包含了明确的 RGB 值的颜色表
4. 如果 lbStyle 成员的值是 BS_HATCHED 或 BS_SOLID,该值是一个 COLORREF 类型的颜色值(使用 RGB 宏创建 COLORREF 类型)
lbHatch 1. 指定画刷的阴影样式
2. 如果 lbStyle 成员的值是 BS_DIBPATTERN,该值是一个 DIB 的句柄。为了获得这个句柄,应用程序需要调用 GlobalAlloc 函数(GMEM_MOVEABLE 标志)或调用 LocalAlloc 函数(LMEM_MOVEABLE 标志)分配内存块,然后填充 DIB。
3. 如果 lbStyle 成员的值是 BS_DIBPATTERNPT,该值是一个指向 DIB 的指针。该指针指向通过调用 LocalAlloc 函数(LMEM_FIXED 标志)或 GlobalAlloc 函数(GMEM_FIXED 标志)创建的内存块,或通过调用 LocalLock (handle_to_the_dib) 函数返回。
4. 如果 lbStyle 成员的值是 BS_HATCHED,该值指定阴影的样式:
含义
HS_BDIAGONAL 45 度向上,从左至右的阴影
HS_CROSS 水平和垂直交叉阴影
HS_DIAGCROSS 45 度交叉阴影
HS_FDIAGONAL 45 度向下,自左至右阴影
HS_HORIZONTAL 水平阴影
HS_VERTICAL 垂直阴影
5. 如果 lbStyle 成员的值是 BS_PATTERN,该值是一个定义图案位图的句柄(该位图不能是 CreateDIBSection 函数创建的 DIB 位图)
6. 如果 lbStyle 成员的值是 BS_SOLID 或 BS_HOLLOW,该值被忽略


备注:

1. DIB(设备无关位图文件格式)包含 BITMAPINFO 结构以及紧跟着的存储像素阵列的数组。

2. 尽管 lbColor 成员指定了阴影画刷的前景色,但调用 SetBkMode 函数和 SetBkColor 函数可以控制背景颜色。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-27 16:07:16 | 显示全部楼层
小甲鱼 继续更啊!我们都在等着看呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-6 11:02:54 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-15 09:54:13 | 显示全部楼层
小甲鱼,后面的课程什么时候更啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 00:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表