ImageList_Draw 函数 (commctrl.h)

在指定的设备上下文中绘制图像列表项。

语法

BOOL ImageList_Draw(
  HIMAGELIST himl,
  int        i,
  HDC        hdcDst,
  int        x,
  int        y,
  UINT       fStyle
);

参数

himl

类型: HIMAGELIST

图像列表的句柄。

i

类型: int

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

hdcDst

类型: HDC

目标设备上下文的句柄。

x

类型: int

在指定设备上下文中绘制的 x 坐标。

y

类型: int

在指定的设备上下文中绘制的 y 坐标。

fStyle

类型: UINT

绘图样式和(可选)覆盖图像。 有关指定覆盖图像索引的信息,请参阅本主题末尾的注释部分。 此参数可以是覆盖图像索引和以下一个或多个值的组合:

Value 含义
ILD_BLEND
ILD_BLEND25
绘制图像,与系统突出显示颜色混合 25%。 如果图像列表不包含蒙板,则此值不起作用。
ILD_BLEND50
绘制图像,与系统突出显示颜色混合 50%。 如果图像列表不包含蒙板,则此值不起作用。
ILD_FOCUS
ILD_IMAGE
如果覆盖不需要绘制掩码,请设置此标志。 此标志导致 ImageList_DrawEx 仅绘制图像,而忽略掩码。
ILD_MASK
绘制蒙板。
ILD_NORMAL
使用图像列表的背景色绘制图像。 如果背景色是CLR_NONE值,则使用掩码以透明方式绘制图像。
ILD_SELECTED
ILD_TRANSPARENT
使用蒙板以透明方式绘制图像,而不考虑背景色。 如果图像列表不包含蒙板,则此值不起作用。

返回值

类型: BOOL

如果成功,返回不为零的值;否则返回零。

注解

覆盖图像在 i 参数中指定的主图像上以透明方式绘制。 若要在 fStyle 参数中指定覆盖图像,请使用 INDEXTOOVERLAYMASK 宏来移动覆盖图像的基于 1 的索引。 使用 OR 运算符以逻辑方式将宏的返回值与 fStyle 参数中指定的绘图样式标志组合在一起。 必须先使用 ImageList_SetOverlayImage 函数将此图像指定为覆盖图像。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 commctrl.h
Library Comctl32.lib
DLL Comctl32.dll
API 集 Windows 10版本 10.0.14393 中引入的 ext-ms-win-shell-comctl32-init-l1-1-1 ()