VC++开发GIS系统(26)关于LOGBRUSH结构体

在之前文章VC++开发GIS系统(25)关于VC++中的CPEN类2中我简单介绍了关于CPEN类的新构造函数(其实也就是copymsdn官方的说法啦。)不过在文章中涉及到了一个逻辑画刷的结构体,本文也做一个简单的介绍。关于画刷,在以后的文章中也会做详细的说明。

结构体声明

typedef struct tagLOGBRUSH
{
    UINT lbStyle;
    COLORREF lbColor;
    LONG lbHatch;
} LOGBRUSH;

成员介绍

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_BDIAGONAL
45度向上,从左到右的阴影。 ·
HS_CROSS
纵横交叉的阴影。 ·
HS_DIAGCROSS
45度交叉的阴影。 ·
HS_FDIAGONAL
45度向下,从左到右的阴影。
· HS_HORIZONTAL
水平阴影。 ·
HS_VERTICAL
垂直阴影。如果lbStyle是BS_PATTERN,则lbHatch为定义了模板的位图句柄。如果lbStyle为BS_SOLID或BS_HOLLOW,则lbHatch被忽略。
备注:
lbColor控制着阴影刷子的前景色,CDC::SetBkMode和CDC::SetBkColorbm函数控制着背景色。

参考:http://baike.baidu.com/item/LOGBRUSH

VC++开发GIS系统(25)关于VC++中的CPEN类2 VC++开发GIS系统(27)设置点的填充颜色

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论