ImageList_LoadImage 函数是 Win32 API 中的一个函数,用于加载图像列表。下面是 ImageList_LoadImage 函数的一般格式:
HIMAGELIST ImageList_LoadImageA(
  HINSTANCE hinst,
  LPCSTR    lpbmp,
  int       cx,
  int       cGrow,
  COLORREF  crMask,
  UINT      uType,
  UINT      uFlags
);

其中,参数的含义如下:
  •  hinst:包含位图资源的模块句柄。通常使用 GetModuleHandle(NULL) 来获取当前模块句柄。

  •  lpbmp:指定位图资源的名称或标识符。

  •  cx:指定图像的宽度。

  •  cGrow:指定图像列表在需要时可以动态增长的数量。

  •  crMask:指定图像列表中需要透明的颜色。可以使用 CLR_NONE 表示没有透明色。

  •  uType:指定图像列表的类型。常用的类型有 IMAGE_BITMAP 和 IMAGE_ICON。

  •  uFlags:指定加载图像的标志。可以使用 LR_LOADFROMFILE 表示从文件加载图像。


函数返回一个图像列表的句柄(HIMAGELIST)。

示例代码:
#include <Commctrl.h>

HIMAGELIST hImageList = ImageList_LoadImageA(
    GetModuleHandle(NULL),
    "MYIMAGE",
    16,
    5,
    CLR_NONE,
    IMAGE_ICON,
    LR_DEFAULTCOLOR | LR_LOADFROMFILE
);

// 使用 hImageList 进行相关操作
// ...

// 最后记得在不需要使用图像列表时销毁它
ImageList_Destroy(hImageList);

这个示例中,假设存在一个名为 "MYIMAGE" 的图标文件,通过 ImageList_LoadImageA 函数加载该图标并创建一个图像列表。注意,具体的使用方式可能会因为 Windows 版本和 SDK 的不同而有所变化,建议查阅最新的 Windows API 文档或相关的开发者文档以获取准确的信息。


转载请注明出处:http://www.zyzy.cn/article/detail/24688/Win32 API/Commctrl.h/ImageList_LoadImageA