要创建图像列表,请使用ImageList_Create功能,指定要创建的图像列表的类型(未屏蔽或屏蔽);图像的宽度和高度(以像素为单位);您打算添加到图像列表的图像数量;以及列表在调整大小时可以增长的图像数量以适应其他图像。公共控制DLL包含图像列表功能的可执行代码。在进行图像列表功能的任何调用之前,必须使用InitCommonControls函数确保库已加载。
以下示例创建一个蒙版图像列表,并使用ImageList_AddIcon功能将两个图标添加到列表中。
// AddIconsToImageList - 创建一个蒙版图像列表并添加一些
//图标。
//返回新图像列表的句柄。
// hinst - 应用程序实例的句柄
//
//全局变量和常量
// g_nBird和g_nTree - 图像的索引
// CX_ICON和CY_ICON - 图标的宽度和高度
// NUM_ICONS - 要添加到图像列表的图标数量
extern int g_nBird, g_nTree;
#define CX_ICON 32
#define CY_ICON 32
#define NUM_ICONS 3
HIMAGELIST AddIconsToImageList(HINSTANCE HINST)it
{
HIMAGELIST himlIcons; //处理新的图像列表
HICON hicon; //处理图标
//确保加载公共控制DLL。
InitCommonControls();
//创建一个足够大的屏蔽图像列表来保存图标。
himlIcons = ImageList_Create(CX_ICON, CY_ICON, TRUE, NUM_ICONS, 0);
//加载图标资源,并将图标添加到图像列表。
hicon = LoadIcon(hinst, MAKEINTRESOURCE(IDI_BIRD));
g_nBird = ImageList_AddIcon(himlIcons, hicon);
hicon = LoadIcon(hinst, MAKEINTRESOURCE(IDI_TREE));
g_nTree = ImageList_AddIcon(himlIcons, hicon);
return himlIcons;
}