列表控件对应的类是CListCtrl
首先在主对话框类中添加一个CListCtrl类型的成员
接着在主对话框中列表控件进行初始化并添加一条数据
这里我列表控件的风格设置为了报表风格
1.列表控件的初始化
1 DWORD dwStyle = m_ListCtrl.GetExtendedStyle(); 2 m_ListCtrl.SetExtendedStyle(dwStyle | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); 3 m_ListCtrl.InsertColumn(0,_T("用户名")); 4 m_ListCtrl.InsertColumn(1,_T("密码")); 5 m_ListCtrl.InsertColumn(2,_T("Key ID")); 6 m_ListCtrl.InsertColumn(3,_T("Key 密码")); 7 m_ListCtrl.SetColumnWidth(0, 80); 8 m_ListCtrl.SetColumnWidth(1, 120); 9 m_ListCtrl.SetColumnWidth(2, 80); 10 m_ListCtrl.SetColumnWidth(3, 120);
2.添加记录
1 m_ListCtrl.InsertItem(0, _T("蛮王")); 2 m_ListCtrl.SetItem(0, 1, LVIF_TEXT,_T("123"),0,0,0,0); 3 m_ListCtrl.SetItem(0, 2, LVIF_TEXT,_T("God"),0,0,0,0); 4 m_ListCtrl.SetItem(0, 3, LVIF_TEXT,_T("123456"),0,0,0,0);
3.删除数据(这是删除所有数据)
1 m_ListCtrl.DeleteAllItems();
4.获取当前选择的行数
1 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 2 int nMask = pNMListView->iItem; 3 CString str; 4 str.Format(_T("您单击了第%d行"), nMask); 5 AfxMessageBox(str);
5.获取列表内容
1 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 2 int nMask = pNMListView->iItem; 3 CString str; 4 TCHAR szBuf[MAX_PATH] = {0}; 5 m_ListCtrl.GetItemText(nMask, 0, szBuf, MAX_PATH); 6 str.Format(_T("您单击了第%d行,%s"), nMask,szBuf); 7 AfxMessageBox(str);
编译运行后的效果图: