ImageList_GetImageInfo 函数是 Win32 API 中的函数,用于获取图像列表中的图像信息。以下是 ImageList_GetImageInfo 函数的一般格式:
BOOL ImageList_GetImageInfo(
  HIMAGELIST  himl,
  int         i,
  IMAGEINFO   *pImageInfo
);

其中,himl 是图像列表的句柄,i 是图像的索引,pImageInfo 是一个指向 IMAGEINFO 结构体的指针,用于接收图像的信息。

IMAGEINFO 结构体的定义如下:
typedef struct _IMAGEINFO {
  HBITMAP hbmImage;
  HBITMAP hbmMask;
  int     Unused1;
  int     Unused2;
  RECT    rcImage;
} IMAGEINFO, *LPIMAGEINFO;

hbmImage 是包含图像的位图的句柄,hbmMask 是包含图像掩码的位图的句柄,rcImage 是图像的矩形区域。

函数返回一个布尔值,表示是否成功获取图像信息。如果函数成功,返回值为非零,否则为零。

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

HIMAGELIST hImageList = ImageList_Create(width, height, flags, initialCount, grow);
// 添加图像到图像列表

IMAGEINFO imageInfo;
if (ImageList_GetImageInfo(hImageList, 0, &imageInfo)) {
    // 使用 imageInfo 进行相应的处理
    // ...
}

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

这个函数用于在运行时获取图像列表中指定图像的详细信息,例如图像的位图句柄、掩码句柄、以及图像的矩形区域。请注意,具体的函数签名可能会因为 Windows 版本和 SDK 的不同而有所变化。建议查阅最新的 Windows API 文档或相关的开发者文档以获取准确的信息。


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