IMAGELISTDRAWPARAMS 结构 (commctrl.h)

包含有关图像列表绘制操作的信息,并与 IImageList::D raw 函数一起使用。

语法

typedef struct _IMAGELISTDRAWPARAMS {
  DWORD      cbSize;
  HIMAGELIST himl;
  int        i;
  HDC        hdcDst;
  int        x;
  int        y;
  int        cx;
  int        cy;
  int        xBitmap;
  int        yBitmap;
  COLORREF   rgbBk;
  COLORREF   rgbFg;
  UINT       fStyle;
  DWORD      dwRop;
  DWORD      fState;
  DWORD      Frame;
  COLORREF   crEffect;
} IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;

成员

cbSize

类型: DWORD

此结构的大小(以字节为单位)。

himl

类型: HIMAGELIST

包含要绘制的图像的图像列表的句柄。

i

类型: int

要绘制的图像的从零开始的索引。

hdcDst

类型: HDC

目标设备上下文的句柄。

x

类型: int

指定图像绘制位置的 x 坐标。

y

类型: int

指定图像绘制位置的 y 坐标。

cx

类型: int

一个 值,该值指定要绘制的像素数(相对于 xBitmapyBitmap 指定的绘制操作的左上角)。 如果 cxcy 为零,则 Draw 将绘制整个有效部分。 方法不确保参数有效。

cy

类型: int

一个 值,该值指定要绘制的像素数(相对于 xBitmapyBitmap 指定的绘制操作的左上角)。 如果 cxcy 为零,则 Draw 将绘制整个有效部分。 方法不确保参数有效。

xBitmap

类型: int

指定引用图像本身时绘制操作左上角的 x 坐标。 xBitmap 左侧和 yBitmap 上方的图像像素不会显示。

yBitmap

类型: int

y 坐标,指定引用图像本身时绘制操作的左上角。 xBitmap 左侧和 yBitmap 上方的图像像素不会显示。

rgbBk

类型: COLORREF

图像背景色。 此参数可以是应用程序定义的 RGB 值或以下值之一。

含义
CLR_DEFAULT
默认背景色。 使用图像列表背景色绘制图像。
CLR_NONE
无背景色。 以透明方式绘制图像。

rgbFg

类型: COLORREF

图像前景色。 仅当 fStyle 包含 ILD_BLEND25ILD_BLEND50 标志时,才使用此成员。 此参数可以是应用程序定义的 RGB 值或以下值之一:

含义
CLR_DEFAULT
默认前景色。 使用系统突出显示颜色作为前景颜色绘制图像。
CLR_NONE
无混合颜色。 图像与目标设备上下文的颜色混合。

fStyle

类型: UINT

一个标志,用于指定绘图样式以及(可选)覆盖图像。 有关覆盖图像的信息,请参阅本主题末尾的注释部分。 此成员可以包含一个或多个 图像列表绘图标志

dwRop

类型: DWORD

一个指定光栅操作代码的值。 这些代码定义如何将源矩形的颜色数据与目标矩形的颜色数据组合以实现最终颜色。 如果 fStyle 不包含 ILD_ROP 标志,则忽略此成员。 一些常见的光栅操作代码包括:

含义
黑暗
使用与物理调色板中的索引零关联的颜色填充目标矩形。 (对于默认的物理调色板,该颜色为黑色。)
DSTINVERT
反转目标矩形。
MERGECOPY
使用布尔 AND 运算符将源矩形颜色与指定图案合并。
MERGEPAINT
使用布尔 OR 运算符将反转的源矩形颜色与目标矩形颜色合并。
NOTSRCCOPY
将反转的源矩形复制到目标。
NOTSRCERASE
使用布尔 OR 运算符合并源和目标矩形颜色。 反转结果颜色。
PATCOPY
将指定的模式复制到目标位图中。
PATINVERT
使用布尔 XOR 运算符将指定的图案颜色与目标矩形颜色组合在一起。
PATPAINT
将图案颜色与反转的源矩形颜色相结合,并使用布尔 OR 运算符将结果与目标矩形颜色组合在一起。
SRCAND
使用布尔 AND 运算符组合源和目标矩形颜色。
SRCCOPY
将源矩形直接复制到目标矩形。
SRCERASE
使用布尔 AND 运算符将目标矩形的反转颜色与源矩形颜色组合在一起。
SRCINVERT
使用布尔 XOR 运算符组合源和目标矩形颜色。
SRCPAINT
使用布尔 OR 运算符合并源和目标矩形颜色。
使用与物理调色板中第一个索引相关联的颜色填充目标矩形。 对于默认物理调色板,此颜色为白色。

fState

类型: DWORD

一个指定绘图状态的标志。 此成员可以包含一个或多个 图像列表状态标志。 必须使用comctl32.dll版本 6 才能使用此成员。 请参阅备注。

Frame

类型: DWORD

alpha 混合效果一 起使用。

ILS_ALPHA 一起使用时,此成员保留 alpha 通道的值。 此值可以为 0-255,0 表示完全透明,255 表示完全不透明。

必须使用comctl32.dll版本 6 才能使用此成员。 请参阅备注。

crEffect

类型: DWORD

用于 发光阴影 效果的颜色。 必须使用comctl32.dll版本 6 才能使用此成员。 请参阅备注。

备注

覆盖图像是在此结构的 i 成员中指定的主图像之上绘制的图像。 若要指定覆盖图像,请使用按位 OR 运算符将 fStyleINDEXTOOVERLAYMASK 宏合并,并在宏中传递覆盖图像的从 1 开始的索引。 此图像之前必须已使用 ImageList_SetOverlayImage API 指定为覆盖图像。

若要从 fStyle 中提取覆盖图像,请使用按位 AND 运算符使用ILD_OVERLAYMASK值屏蔽 fStyle

Comctl32.dll版本 6 不可再发行。 若要使用Comctl32.dll版本 6,必须在清单中指定它。 有关清单的详细信息,请参阅 启用视觉样式

要求

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