BOOL ListView_DeleteColumn(
HWND hwnd,
int iCol
);
参数说明:
- hwnd:指向列表视图控件的句柄。
- iCol:要删除的列的索引。
函数返回值:
- 如果成功,返回 TRUE;如果失败,返回 FALSE。
这个函数通常用于在运行时删除列表视图控件中的某个列。删除列后,该列对应的所有数据都将被移除。
以下是一个简单的示例:
#include <Commctrl.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch (uMsg) {
case WM_CREATE:
{
// 创建列表视图控件
HWND hListView = CreateWindowEx(0, WC_LISTVIEW, L"",
WS_VISIBLE | WS_CHILD | LVS_REPORT,
10, 10, 300, 200, hwnd, NULL, GetModuleHandle(NULL), NULL);
if (hListView) {
// 向列表视图添加列...
LVCOLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_WIDTH;
lvc.cx = 100;
lvc.pszText = L"Column 1";
ListView_InsertColumn(hListView, 0, &lvc);
lvc.cx = 100;
lvc.pszText = L"Column 2";
ListView_InsertColumn(hListView, 1, &lvc);
// 在某个时刻删除第二列...
ListView_DeleteColumn(hListView, 1);
// 向列表视图添加一些项...
LVITEM lvi;
lvi.mask = LVIF_TEXT;
lvi.pszText = L"Item 1";
ListView_InsertItem(hListView, &lvi);
lvi.pszText = L"Item 2";
ListView_InsertItem(hListView, &lvi);
}
break;
}
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
// 初始化通用控件库
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_LISTVIEW_CLASSES; // 或其他适当的标志
if (!InitCommonControlsEx(&icex)) {
// 初始化失败处理
return 1;
}
// 注册窗口类
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WindowProc, 0L, 0L,
GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
L"ListView_DeleteColumn Example", NULL };
RegisterClassEx(&wc);
// 创建主窗口
HWND hwnd = CreateWindow(wc.lpszClassName, L"ListView_DeleteColumn Example",
WS_OVERLAPPEDWINDOW, 100, 100, 400, 300,
NULL, NULL, wc.hInstance, NULL);
// 显示主窗口
ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);
// 消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// 注销窗口类
UnregisterClass(wc.lpszClassName, wc.hInstance);
return 0;
}
在这个例子中,当窗口创建时,WM_CREATE 消息中的 ListView_DeleteColumn 被调用,删除了列表视图中的第二列。
转载请注明出处:http://www.zyzy.cn/article/detail/24706/Win32 API/Commctrl.h/ListView_DeleteColumn