Header_SetImageList 函数用于设置标题栏控件(Header control)中的图像列表。该函数在 Commctrl.h 头文件中声明。

以下是该函数的声明:
HIMAGELIST Header_SetImageList(
  HWND       hwndHdr,
  HIMAGELIST himl
);

参数说明:

  •  hwndHdr:标题栏控件的句柄。

  •  himl:要设置的图像列表的句柄。如果为 NULL,则表示移除当前的图像列表。


函数返回值是之前与标题栏相关联的图像列表的句柄。如果没有与标题栏相关联的图像列表,则返回 NULL。

使用该函数可以为标题栏中的每个项关联一个图像,以便在标题上显示图标。

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

// 初始化 CommCtrl 库

// 创建标题栏控件
HWND hwndHeader = CreateWindowEx(0, WC_HEADER, L"Header Control", WS_CHILD | WS_VISIBLE,
                                 0, 0, 300, 30, hwndParent, (HMENU)IDC_HEADER, hInstance, NULL);

// 创建图像列表
HIMAGELIST himl = ImageList_Create(16, 16, ILC_COLOR32 | ILC_MASK, 2, 0);
HICON hIcon1 = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
HICON hIcon2 = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2));
ImageList_AddIcon(himl, hIcon1);
ImageList_AddIcon(himl, hIcon2);

// 将图像列表与标题栏关联
HIMAGELIST oldImageList = Header_SetImageList(hwndHeader, himl);

// 在使用完毕后记得销毁旧的图像列表
if (oldImageList) {
    ImageList_Destroy(oldImageList);
}

在这个示例中,我们首先创建了一个标题栏控件和一个包含两个图标的图像列表。然后,使用 Header_SetImageList 函数将图像列表与标题栏关联。最后,记得在不再需要时销毁旧的图像列表。


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