ImageList_Destroy 是 Win32 API 中用于销毁图像列表的函数,该函数在 Commctrl.h 头文件中声明。

以下是 ImageList_Destroy 函数的基本信息:
BOOL ImageList_Destroy(
  HIMAGELIST himl
);

参数说明:
  •  himl:要销毁的图像列表的句柄。


该函数返回一个 BOOL 类型的值,如果成功,返回值为非零;如果失败,返回值为零。

使用 ImageList_Destroy 函数可以释放由 ImageList_Create 函数创建的图像列表所占用的资源。在不再需要图像列表时,应该调用此函数来避免内存泄漏。

以下是一个简单的示例代码,演示如何使用 ImageList_Destroy 函数:
#include <windows.h>
#include <commctrl.h>

int main() {
    // 初始化 Common Controls
    INITCOMMONCONTROLSEX icex;
    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
    icex.dwICC = ICC_WIN95_CLASSES; // 或其他需要的标志
    InitCommonControlsEx(&icex);

    // 创建图像列表
    HIMAGELIST himl = ImageList_Create(16, 16, ILC_COLOR32 | ILC_MASK, 1, 0);

    if (himl == NULL) {
        MessageBox(NULL, L"ImageList creation failed!", L"Error", MB_ICONERROR);
        return 1;
    }

    // 在这里,可以使用图像列表(himl)进行添加、绘制等操作

    // 释放图像列表
    ImageList_Destroy(himl);

    return 0;
}

在这个例子中,使用 ImageList_Create 函数创建了一个图像列表,然后在不再需要它时调用了 ImageList_Destroy 函数释放资源。


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