首先在类的OnInitDialog()函数中进行列表的初始化:
1 //获取并设置扩展风格 2 DWORD style = m_List.GetExtendedStyle(); 3 m_List.SetExtendedStyle(style| LVS_EX_GRIDLINES| LVS_EX_FULLROWSELECT); 4 //插入列 5 m_List.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 40); 6 m_List.InsertColumn(1, _T("姓名"), LVCFMT_LEFT,50); 7 m_List.InsertColumn(2, _T("年龄"), LVCFMT_LEFT, 40); 8 m_List.InsertColumn(3, _T("性别"), LVCFMT_LEFT, 40); 9 m_List.InsertColumn(4, _T("家庭地址"), LVCFMT_LEFT, 200); 10 m_List.InsertColumn(5, _T("手机"), LVCFMT_LEFT, 150); 11 12 //插入行信息 13 m_List.InsertItem(m_List.GetItemCount(), _T("1"));//GetItemCount()用来返回当前有多少行 14 //设置行文本信息 15 m_List.SetItemText(0, 1, _T("小方")); 16 m_List.SetItemText(0, 2, _T("18")); 17 m_List.SetItemText(0, 3, _T("女")); 18 m_List.SetItemText(0, 4, _T("武汉市江夏区纸坊镇")); 19 m_List.SetItemText(0, 5, _T("13668875354")); 20 //再插入一行 21 m_List.InsertItem(m_List.GetItemCount(), _T("2")); 22 m_List.SetItemText(1, 1, _T("小牛")); 23 m_List.SetItemText(1, 2, _T("17")); 24 m_List.SetItemText(1, 3, _T("男")); 25 m_List.SetItemText(1, 4, _T("武汉市洪山区雄楚大道")); 26 m_List.SetItemText(1, 5, _T("13886189906"));
1 //将当前行整行选中 2 m_List.SetFocus(); 3 m_List.SetItemState(1, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
1 //将当前行取消选中 2 m_List.SetFocus(); 3 m_List.SetItemState(1, LVIS_ACTIVATING| LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
1 //遍历所有记录行 2 int nCount = m_List.GetItemCount(); 3 for (int idx = 0; idx < nCount; ++idx) 4 { 5 CString szStr = m_List.GetItemText(idx, 1); 6 szStr = m_List.GetItemText(idx, 2); 7 szStr = m_List.GetItemText(idx, 3); 8 szStr = m_List.GetItemText(idx, 4); 9 szStr = m_List.GetItemText(idx, 5); 10 }
1 //遍历所有选中的行记录 2 POSITION pos = m_List.GetFirstSelectedItemPosition(); 3 while (pos) { 4 //获得记录的行号 5 int idx = m_List.GetNextSelectedItem(pos); 6 CString szStr; 7 szStr.Format(_T("%d"), idx); 8 MessageBox(szStr); 9 }