图像列表

本部分包含有关用于图像列表的编程元素的信息。

综述

主题 内容
图像列表 图像列表是相同大小的图像集合,每个图像都可以由其索引引用。

功能

主题 内容
HIMAGELIST_QueryInterface 检索指向与图像列表的 HIMAGELIST 句柄相对应的 IImageListIImageList2 对象的指针。
ImageList_Add 将图像或图像添加到图像列表。
ImageList_AddMasked 将图像或图像添加到图像列表中,从指定的位图生成掩码。
ImageList_BeginDrag 开始拖动图像。
ImageList_CoCreateInstance 创建图像列表的单个实例,并返回指向它的接口指针。
ImageList_Copy 复制给定映像列表中的映像。
ImageList_Create 创建新的映像列表。
ImageList_Destroy 销毁图像列表。
ImageList_DragEnter 在窗口内的指定位置显示拖动图像。
ImageList_DragLeave 解锁指定的窗口并隐藏拖动图像,从而允许更新窗口。
ImageList_DragMove 在拖放作期间移动正在拖动的图像。 此函数通常在响应 WM_MOUSEMOVE 消息时调用。
ImageList_DragShowNolock 显示或隐藏正在拖动的图像。
ImageList_Draw 在指定的设备上下文中绘制图像列表项。
ImageList_DrawEx 在指定的设备上下文中绘制图像列表项。 该函数使用指定的绘图样式,并将图像与指定颜色混合。
ImageList_DrawIndirect 基于 IMAGELISTDRAWPARAMS 结构绘制图像列表图像。
ImageList_Duplicate 创建现有映像列表的副本。
ImageList_EndDrag 结束拖动作。
ImageList_GetBkColor 检索图像列表的当前背景色。
ImageList_GetDragImage 检索用于拖动图像的临时图像列表。 该函数还检索相对于拖动位置的拖动图像的当前拖动位置和偏移量。
ImageList_GetIcon 从图像列表中创建一个图标和掩码。
ImageList_GetIconSize 检索图像列表中的图像尺寸。 图像列表中的所有图像具有相同的尺寸。
ImageList_GetImageCount 检索图像列表中的图像数。
ImageList_GetImageInfo 检索有关图像的信息。
ImageList_LoadImage 从指定的位图创建图像列表。
ImageList_Merge 通过组合两个现有映像来创建新映像。 该函数还会创建一个新的图像列表,用于存储映像。
ImageList_Read 从流中读取图像列表。
ImageList_ReadEx 从流中读取图像列表,并返回图像列表的接口。
ImageList_Remove 从映像列表中删除图像。
ImageList_Replace 将图像列表中的图像替换为新映像。
ImageList_ReplaceIcon 将图像替换为图标或光标。
ImageList_SetBkColor 设置图像列表的背景色。 仅当添加图标或使用带有黑白位图的 ImageList_AddMasked 时,此函数才有效。 如果没有掩码,将绘制整个图像;因此背景色不可见。
ImageList_SetColorTable 设置图像列表的颜色表。
ImageList_SetDragCursorImage 通过将指定的图像(通常是鼠标光标图像)与当前拖动图像组合在一起,创建新的拖动图像。
ImageList_SetIconSize 设置图像列表中的图像尺寸,并从列表中删除所有图像。
ImageList_SetImageCount 调整现有图像列表的大小。
ImageList_SetOverlayImage 将指定的图像添加到要用作覆盖掩码的图像列表中。 映像列表在版本 4.70 及更低版本中最多可以有四个覆盖掩码,在版本 4.71 中最多可以有 15 个覆盖掩码。 该函数将覆盖掩码索引分配给指定的图像。
ImageList_Write 将图像列表写入流。
ImageList_WriteEx 将图像列表写入流。

主题 内容
ImageList_AddIcon 将图标或光标添加到图像列表。 ImageList_AddIcon 调用 ImageList_ReplaceIcon 函数。
ImageList_ExtractIcon 调用 ImageList_GetIcon 函数,以基于图像列表中的图像和掩码创建图标或光标。
ImageList_LoadBitmap 调用 ImageList_LoadImage 函数,以从指定的位图资源创建图像列表。
ImageList_RemoveAll 调用 ImageList_Remove 函数以从图像列表中删除所有图像。
INDEXTOOVERLAYMASK 准备覆盖掩码的索引,以便 ImageList_Draw 函数可以使用它。

接口

主题 内容
IImageList 公开处理和与图像列表交互的方法。
若要使用 IImageList,请在清单中指定 Comctl32.dll 版本 6。 如果不这样做,则默认使用 Comctl32.dll 版本 5,IImageList 可能会显示不可预知的行为。 有关清单的详细信息,请参阅 启用视觉样式

方法

主题 内容
添加 将图像或图像添加到图像列表。
AddMasked 将图像或图像添加到图像列表中,从指定的位图生成掩码。
BeginDrag 开始拖动图像。
克隆 克隆现有映像列表。
复制 从给定映像列表中复制映像。
DragEnter 在拖动作期间锁定对指定窗口的更新,并在窗口内的指定位置显示拖动图像。
DragLeave 解锁指定的窗口并隐藏拖动图像,使窗口能够更新。
DragMove 在拖放作期间移动正在拖动的图像。 此函数通常在响应 WM_MOUSEMOVE 消息时调用。
DragShowNolock 显示或隐藏正在拖动的图像。
绘图 在指定的设备上下文中绘制图像列表项。
EndDrag 结束拖动作。
GetBkColor 获取图像列表的当前背景色。
GetDragImage 获取用于拖动图像的临时图像列表。 该函数还检索相对于拖动位置的拖动图像的当前拖动位置和偏移量。
GetIcon 从图像和图像列表中的掩码创建图标。
GetIconSize 获取图像列表中的图像尺寸。 图像列表中的所有图像具有相同的尺寸。
GetImageCount 获取图像列表中的图像数。
GetImageInfo 获取有关图像的信息。
GetImageRect 获取图像的边界矩形。
GetItemFlags 获取图像的标志。
GetOverlayImage 从用作覆盖掩码的图像列表中检索指定的图像。
合并 通过组合两个现有映像来创建新映像。 此方法还会创建用于存储映像的新映像列表。
删除 从映像列表中删除图像。
替换 将图像列表中的图像替换为新映像。
ReplaceIcon 将图像替换为图标或光标。
SetBkColor 设置图像列表的背景色。 仅当向图像列表添加图标或使用 IImageList::AddMasked 方法添加黑白位图时,此方法才正常工作。 如果没有掩码,整个图像将绘制,背景色不可见。
SetDragCursorImage 通过将指定的图像(通常是鼠标光标图像)与当前拖动图像组合在一起,创建新的拖动图像。
SetIconSize 设置图像列表中的图像尺寸,并从列表中删除所有图像。
SetImageCount 调整现有图像列表的大小。
SetOverlayImage 将指定的图像添加到用作覆盖掩码的图像列表中。 映像列表在 Common Controls 中最多可以有四个覆盖掩码,版本 4.70 及更早版本,在 4.71 或更高版本中最多可以有 15 个覆盖掩码。 该方法将覆盖掩码索引分配给指定的图像。

结构

主题 内容
IMAGEINFO 包含有关图像列表中的图像的信息。 此结构与 IImageList::GetImageInfo 函数一起使用。
IMAGELISTDRAWPARAMS 包含有关图像列表绘制作的信息,并与 IImageList::D raw 函数一起使用。