函数功能:该函数创建一个逻辑刷子,该刷子的模式由指定的DIB(与设备无关位图)位图来指定。该刷子可以连续地选入到任何与支持光栅操作的设备相关的设备环境中。

    函数原型:HBRUSHCreateDIBPattermBrush(HGLOBALhglbDIBPacked, UINTfuColorSpec);

    参数:

    hglbDIBPacked:指向一个全局内存对象的句柄。该对象包含了一个包装的DIB。这种DIB由BITMAPINFO结构后紧跟用于定义位图像素的字节型数组组成。

    对于Windows95和Windows98,不支持从大于8*8像素的位图或DIB中创建刷子。如果指定的位图较大,那么只使用该位图的一部分。

    fuColorSpec:指出BITMAPINFO结构中的成员bmiColors是否已被初始化,并且如果是初始化了,那么该成员是否包含了明确的RGB值或逻辑调色板索引。参数fuColorSpec必须取下列值之一,这些值的含义如下:

    DIB_PAL_COLORS:表示提供了颜色表,该颜色表由16位索引值数组组成,利用这些索引值可以对刷子要选入的设备环境的逻辑调色板进行索引。

    DIB_RGB_COLORS:表示提供了颜色表,并且表中包含了原文的RGB值。

    返回值:如果函数执行成功,那么返回值标识为逻辑刷子;如果函数失败,则返回值为NULL。

    Windows NT:若想获得更多错误信息,请调用GetLastError函数。

    备注:当应用程序把一个颜色的DIB模式刷子选入到单色设备环境中时,系统并不知道DIB中规定的颜色,相反地,它使用设备环境的当前背景色和前景色来显示模式刷子。映射成DIB中第1个颜色(在DIB颜色表中偏移量为0)的像素是使用前景色显示的,映射成第2个颜色(在DIB颜色表中偏移量为1)和像素则使用背景色来显示。当不再需要该刷子时,可调用函数DeleteObject删除它。

    ICM;在创建刷子时无颜色操作,然而当把该刷子选入到一个ICM允许的设备环境中时,会进行颜色管理。