ImageList_LoadImageA函数 (commctrl.h)
从指定的位图创建图像列表。
语法
HIMAGELIST ImageList_LoadImageA(
HINSTANCE hi,
LPCSTR lpbmp,
int cx,
int cGrow,
COLORREF crMask,
UINT uType,
UINT uFlags
);
参数
hi
类型:HINSTANCE
包含资源的实例的句柄。 如果要从文件加载映像或加载 OEM 资源,则可以 NULL 此参数。
lpbmp
类型:LPCTSTR
要加载的图像。
如果 uFlags 参数包含LR_LOADFROMFILE,则 lpbmp 是一个以 null 结尾的字符串的地址,用于命名包含要加载的图像的文件。
如果未指定 hi 参数为非NULL 且未指定LR_LOADFROMFILE,则 lpbmp 是包含 hi 模块中图像资源名称的 null 终止字符串的地址。
如果未指定 hiNULL 且未指定LR_LOADFROMFILE,则此参数的 LOWORD 必须是要加载的 OEM 映像的标识符。 若要创建此值,请使用 MAKEINTRESOURCE 宏和 Winuser.h 中定义的 OEM 映像标识符之一。 这些标识符具有以下前缀。
价值 | 意义 |
---|---|
|
|
|
|
|
cx
类型:int
每个图像的宽度。 每个图像的高度和初始图像数由指定资源的尺寸推断。
cGrow
类型:int
当系统需要为新映像腾出空间时,映像列表可以增长的图像数。 此参数表示重设大小的图像列表可以包含的新图像数。
crMask
类型:COLORREF
用于生成掩码的颜色。 指定位图、光标或图标中此颜色的每个像素都更改为黑色,掩码中的相应位设置为 1。 如果此参数是CLR_NONE值,则不生成掩码。 如果此参数是CLR_DEFAULT值,则图像左上角的像素颜色被视为掩码颜色。
uType
类型:UINT
指定要加载的图像类型的标志。 此参数必须IMAGE_BITMAP,以指示正在加载位图。
价值 | 意义 |
---|---|
|
加载位图。 |
uFlags
类型:UINT
指定如何加载映像的标志。 此参数可以是以下值的组合。
返回值
类型:HIMAGELIST
如果成功,则返回图像列表的句柄,否则 NULL。
言论
LR_LOADTRANSPARENT不会以透明方式加载图像。 它创建仅显示为透明的不透明图像列表,因为所有背景像素都已更改为COLOR_WINDOW。 如果图像在不是颜色COLOR_WINDOW的背景上绘制,则图像无法正确绘制。 此外,LR_LOADTRANSPARENT和LR_LOADMAP3DCOLORS使用在调用 ImageList_LoadImage 时生效的系统颜色。 如果系统颜色随后发生更改,应用程序必须重新加载图像以重新映射颜色。
注意
commctrl.h 标头将ImageList_LoadImage定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | commctrl.h |
库 | Comctl32.lib |
DLL | Comctl32.dll |