1、一键清空列表框中的所有数据;
2、点击按钮选中列表框中的第2行;
3、遍历列表框;
#include <Windows.h> #include <tchar.h> #include <CommCtrl.h> TCHAR szWindowClass[] = _T("WindowClass"); TCHAR szTitle[] = _T("Title"); HWND hButtonControl_1 = nullptr; UINT IDC_BUTTON_1 = 200; HWND hButtonControl_2 = nullptr; UINT IDC_BUTTON_2 = 201; HWND hButtonControl_3 = nullptr; UINT IDC_BUTTON_3 = 202; HWND hListViewControl_1 = nullptr; UINT IDC_LISTVIEW_1 = 300; LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { switch (uMsg) { case WM_CREATE: { hButtonControl_1 = CreateWindow(WC_BUTTON, _T("一键清空列表框中的所有数据"),WS_CHILD |WS_VISIBLE | WS_BORDER | BS_PUSHBUTTON, CW_USEDEFAULT, CW_USEDEFAULT, 220, 25, hWnd, (HMENU)IDC_BUTTON_1, NULL, NULL); hButtonControl_2 = CreateWindow(WC_BUTTON, _T("点击按钮选中列表框中的第2行"), WS_CHILD | WS_VISIBLE | WS_BORDER | BS_PUSHBUTTON, 220, 0, 220, 25, hWnd, (HMENU)IDC_BUTTON_2, NULL, NULL); hButtonControl_3 = CreateWindow(WC_BUTTON, _T("遍历列表框"), WS_CHILD | WS_VISIBLE | WS_BORDER | BS_PUSHBUTTON, 440, 0, 220, 25, hWnd, (HMENU)IDC_BUTTON_3, NULL, NULL); hListViewControl_1 = CreateWindow(WC_LISTVIEW, _T(""), WS_CHILD | WS_VISIBLE | WS_BORDER |LVS_REPORT, 0, 25, 220, 400, hWnd, (HMENU)IDC_LISTVIEW_1, NULL, NULL); LVCOLUMN ColumnInfo_1 = { 0 }; ColumnInfo_1.mask |= LVCF_TEXT | LVCF_WIDTH; ColumnInfo_1.cx = 55; ColumnInfo_1.pszText = (LPTSTR)_T("第0列"); ListView_InsertColumn(hListViewControl_1,0, &ColumnInfo_1); ColumnInfo_1 = { 0 }; ColumnInfo_1.mask |= LVCF_TEXT | LVCF_WIDTH; ColumnInfo_1.cx = 55; ColumnInfo_1.pszText = (LPTSTR)_T("第1列"); ListView_InsertColumn(hListViewControl_1, 1, &ColumnInfo_1); ColumnInfo_1 = { 0 }; ColumnInfo_1.mask |= LVCF_TEXT | LVCF_WIDTH; ColumnInfo_1.cx = 55; ColumnInfo_1.pszText = (LPTSTR)_T("第2列"); ListView_InsertColumn(hListViewControl_1, 2, &ColumnInfo_1); ColumnInfo_1 = { 0 }; ColumnInfo_1.mask |= LVCF_TEXT | LVCF_WIDTH; ColumnInfo_1.cx = 55; ColumnInfo_1.pszText = (LPTSTR)_T("第3列"); ListView_InsertColumn(hListViewControl_1, 3, &ColumnInfo_1); LVITEM RowInfo_1 = { 0 }; RowInfo_1.mask |= LVIF_TEXT; RowInfo_1.pszText = (LPTSTR)_T("AAA"); RowInfo_1.iItem = 0; ListView_InsertItem(hListViewControl_1, &RowInfo_1); RowInfo_1 = { 0 }; RowInfo_1.mask |= LVIF_TEXT; RowInfo_1.pszText = (LPTSTR)_T("AAA"); RowInfo_1.iItem = 1; ListView_InsertItem(hListViewControl_1, &RowInfo_1); RowInfo_1 = { 0 }; RowInfo_1.mask |= LVIF_TEXT; RowInfo_1.pszText = (LPTSTR)_T("AAA"); RowInfo_1.iItem = 2; ListView_InsertItem(hListViewControl_1, &RowInfo_1); } break; case WM_COMMAND: { UINT nControlID = LOWORD(wParam); UINT nNotificationCode = HIWORD(wParam); if (nNotificationCode == BN_CLICKED) { if (nControlID == IDC_BUTTON_1) { ListView_DeleteAllItems(hListViewControl_1); //一键清空列表框中的所有数据; } if (nControlID == IDC_BUTTON_2) { ListView_SetItemState(hListViewControl_1, 1, LVIS_SELECTED, LVIS_SELECTED); //点击按钮选中列表框中的第2行 } if (nControlID == IDC_BUTTON_3) { for (int iItemIdx = ListView_GetNextItem(hListViewControl_1, -1, LVNI_ALL); iItemIdx >= 0; iItemIdx = ListView_GetNextItem(hListViewControl_1, iItemIdx, LVNI_ALL)) { TCHAR szText[128] = {0}; ListView_GetItemText(hListViewControl_1, iItemIdx, 0, szText, 128); MessageBox(hWnd, szText, _T(""), NULL); } } } } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); break; } return 0; } int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow) { WNDCLASSEX wcex = { 0 }; wcex.cbSize = sizeof(WNDCLASSEX); wcex.lpfnWndProc = WindowProc; wcex.lpszClassName = szWindowClass; if (!RegisterClassEx(&wcex)) return 0; HWND hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL); if (!hWnd)return 0; ShowWindow(hWnd, SW_SHOW); MSG msg = { 0 }; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (int)msg.wParam; }