ListView_SetImageList 函数用于设置 ListView 控件中的图像列表,它在 Commctrl.h 头文件中声明。以下是该函数的声明:
HIMAGELIST ListView_SetImageList(
  HWND      hwnd,
  HIMAGELIST himl,
  int       iImageList
);

参数说明:
  •  hwnd:ListView 控件的句柄。

  •  himl:要设置的图像列表的句柄。

  •  iImageList:标识图像列表的类型。可以是以下值之一:

  - LVSIL_NORMAL:普通图像列表(用于项图标)。
  - LVSIL_SMALL:小图像列表(用于小图标视图)。
  - LVSIL_STATE:状态图像列表(用于项的状态图像,如复选框)。

函数返回值为先前与指定图像列表相关联的图像列表的句柄。如果没有与指定类型相关联的图像列表,则返回值为 NULL。

以下是一个示例:
// 假设 hwndListView 是你的 ListView 控件的句柄,himl 是你的图像列表的句柄
HIMAGELIST hPreviousImageList = ListView_SetImageList(hwndListView, himl, LVSIL_NORMAL);

在这个例子中,hPreviousImageList 将包含先前与普通图像列表相关联的图像列表的句柄。如果你不关心先前的设置,可以忽略该返回值。

确保在使用这些功能之前,你已经初始化了 CommCtrl 库,可以通过在程序的初始化部分添加以下代码来实现:
#pragma comment(lib, "comctl32.lib")

// 在 WinMain 函数中
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&icex);

请注意,Windows 操作系统的不同版本可能会影响可用的功能和消息。确保你的应用程序与目标操作系统兼容。


转载请注明出处:http://www.pingtaimeng.com/article/detail/24754/Win32 API/Commctrl.h/ListView_SetImageList