1、列表样式设置

 1 LONG lStyle;
 2 lStyle = GetWindowLong(m_configList.m_hWnd, GWL_STYLE);
 3 lStyle &= ~LVS_TYPEMASK;
 4 lStyle |= LVS_REPORT;
 5 SetWindowLong(m_configList.m_hWnd, GWL_STYLE, lStyle);
 6 
 7 DWORD dwStyle = m_configList.GetExtendedStyle();
 8 dwStyle |= LVS_EX_FULLROWSELECT;//整行选中
 9 dwStyle |= LVS_EX_GRIDLINES;//网格线
10 dwStyle |= LVS_EX_DOUBLEBUFFER;
11 //dwStyle |= LVS_EX_CHECKBOXES;//每一行最前面带个复选框
12 m_configList.SetExtendedStyle(dwStyle);

2、设置列表的列名

1 m_configList.InsertColumn(0, "列1", LVCFMT_CENTER, 100, 0);
2 m_configList.InsertColumn(1, "列2", LVCFMT_CENTER, 100, 1);
3 m_configList.InsertColumn(2, "列3", LVCFMT_CENTER, 120, 2);
4 m_configList.InsertColumn(3, "列4", LVCFMT_CENTER, 100, 3);

3、插入数据

m_configList.InsertItem(0,"");//插入行
m_configList.SetItemText(0,1,"name");//设置第2列

4、得到单击的listCtrl的行列号

 1 void CTestDlg::OnClickList(NMHDR* pNMHDR,LRESULT* pResult)
 2 {
 3     //方法1
 4     DWORD dwPos = GetMessagePos();
 5     CPoint point(LOWORD(dwPos),HIWORD(dwPos));
 6     m_configList.ScreenToClient(&point);
 7     LVHITTESTINFO lvinfo;
 8     lvinfo.pt = point;
 9     lvinfo.flags = LVHT_ABOVE;
10     
11     int nItem = m_list.SubItemHitTest(&lvinfo);
12     if(nItem != -1)
13     {
14         lvinfo.iItem //
15         lvinfo.iSubItem //
16     }
17     //方法2
18     NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
19     if(pNMListView->iItem != -1)
20     {
21         pNMListView->iItem //
22         pNMListView->iSubItem //
23     }
24 }

5、选中和取消选中某一行

1 int nIndex = 0;
2 m_configList.SetItemState(nIndex,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);//选中
3 m_configList.SetItemState(nIndex,0,LVIS_SELECTED|LVIS_FOCUSED);

6、得到listCtrl中所有选中行的序号

 1  2 CString str;
 3 for(int i = 0;i < m_configList.GetITemCount();++i)
 4 {
 5     if(m_configList.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED)
 6     {}
 7 }
 8  9 POSITION pos = m_configList.GetFirstSelectedItemPosition();
10 if(pos == NULL)
11 {}
12 else
13 {
14     while(pos)
15     {
16         int nItem = m_configList.GetNextSelectedItem(pos);
17     }
18 }

 

参考

https://blog.csdn.net/zq4132/article/details/54971717

 

posted on 2019-05-15 19:53  AnotherICE  阅读(212)  评论(0编辑  收藏  举报