初始化列表视图控件的图像列表

【勇芳软件工作室】汉化HomePreviousNext

列表视图控件最多可以有三个与之相关的图像列表:一个用于图标视图中的项目图标,一个用于其他视图中的项目图标,另一个用于应用程序定义的项目状态。以下示例创建两个图像列表,为每个图像添加一个图标,并使用LVM_SETIMAGELIST消息将其分配给列表视图控件。

// InitListViewImageList - 为列表视图创建映像列表。

//如果成功返回TRUE,否则返回FALSE。

// hwndLV - 列表视图控件的句柄

BOOL WINAPI InitListViewImageLists(HWND hwndLV)

{

HICON hiconItem; //图标列表视图项

HIMAGELIST himlLarge; //图标视图图像列表

HIMAGELIST himlSmall; //其他视图的图像列表

//创建全尺寸和小图标图像列表。

himlLarge = ImageList_Create(GetSystemMetrics(SM_CXICON),

GetSystemMetrics(SM_CYICON), TRUE, 1, 1);

himlSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON),

GetSystemMetrics(SM_CYSMICON), TRUE, 1, 1);

//将图标添加到每个图像列表。

hiconItem = LoadIcon(g_hinst, MAKEINTRESOURCE(IDI_ITEM));

ImageList_AddIcon(himlLarge, hiconItem);

ImageList_AddIcon(himlSmall, hiconItem);

DeleteObject(hiconItem);

//将图像列表分配给列表视图控件。

ListView_SetImageList(hwndLV, himlLarge, LVSIL_NORMAL);

ListView_SetImageList(hwndLV, himlSmall, LVSIL_SMALL);

return TRUE;

}