要创建列表视图控件,请使用CreateWindowEx函数,指定WC_LISTVIEW窗口类。当加载公共控件动态链接库(DLL)时,列表视图窗口类在应用程序的地址空间中注册。要确保加载该DLL,请在创建控件之前调用InitCommonControls函数。
当您调用CreateWindowEx时,可以指定列表视图窗口样式的组合,以控制控件的外观和属性。有关列表视图窗口样式的完整列表,请参阅列表视图窗口样式.
以下示例创建列表视图控件,然后调用应用程序定义的函数来添加图像列表,列和列表视图项。窗口样式指定列表视图控件的初始视图和其他选项。此示例指定报告视图,使用户可以编辑列表视图项目的标签。
// CreateListView - 创建列表视图控件。
//如果成功或返回NULL,则返回新控件的句柄
// 除此以外。
// hwndParent - 控件的父窗口的句柄
// pfData - 包含列表视图项的文件
HWND WINAPI CreateListView(HWND hwndParent,FILE * pfData)
{
HWND hwndLV;
//强制加载公共控件DLL。
InitCommonControls();
//创建列表视图窗口。
hwndLV = CreateWindow(WC_LISTVIEW, "",
WS_CHILD | LVS_REPORT | LVS_EDITLABELS,
0, 0, CW_USEDEFAULT, CW_USEDEFAULT,
hwndParent, NULL, g_hinst, NULL);
if (hwndLV == NULL)
return NULL;
//调用应用程序定义的函数来初始化
//图像列表,添加列和添加一些项目。
if(!InitListViewImageLists(hwndLV)||
!InitListViewColumns(hwndLV)||
!InitListViewItems(hwndLV,pfData)){
DestroyWindow(hwndLV);
return FALSE;
}
return hwndLV; //返回控件的句柄
}