CListCtrl控件使用方法总结
CListCtrl控件使用方法总结 CListCtrl控件是MFC中的一种常用的控件,用于显示列表信息。下面是CListCtrl控件使用方法总结。 一、CListCtrl风格设置 CListCtrl控件有多种风格,包括LVS_ICON、LVS_SMALLICON、LVS_LIST、LVS_REPORT等。其中,LVS_REPORT风格是最常用的风格,用于显示item的详细信息。可以通过GetWindowLong和SetWindowLong函数来设置CListCtrl控件的风格。 LONG lStyle; lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE); lStyle &= ~LVS_TYPEMASK; lStyle |= LVS_REPORT; SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle); 二、CListCtrl扩展风格设置 除了基本风格外,CListCtrl控件还可以设置扩展风格,例如LVS_EX_FULLROWSELECT、LVS_EX_GRIDLINES、LVS_EX_CHECKBOXES等。这些扩展风格可以通过GetExtendedStyle和SetExtendedStyle函数来设置。 DWORD dwStyle = m_list.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT; dwStyle |= LVS_EX_GRIDLINES; dwStyle |= LVS_EX_CHECKBOXES; m_list.SetExtendedStyle(dwStyle); 三、插入数据 CListCtrl控件可以插入列和行数据。插入列数据可以使用InsertColumn函数,插入行数据可以使用InsertItem函数。 m_list.InsertColumn(0, "ID", LVCFMT_LEFT, 40); m_list.InsertColumn(1, "NAME", LVCFMT_LEFT, 50); int nRow = m_list.InsertItem(0, "11"); m_list.SetItemText(nRow, 1, "jacky"); 四、选中和取消选中item CListCtrl控件可以选中和取消选中item,可以通过SetItemState函数来实现。 int nIndex = 0; m_list.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED); 五、获得listctrl中的所有行的checkbox状态 如果CListCtrl控件中包含checkbox,可以通过GetItemState函数来获得checkbox的状态。 m_list.SetExtendedStyle(LVS_EX_CHECKBOXES); CString str; for(int i=0; i<m_list.GetItemCount(); i++) { if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i)) { str.Format(_T("第%d 行的 checkbox 为选中状态"), i); AfxMessageBox(str); } } 六、获得listctrl中所有选中行的序号 可以通过遍历CListCtrl控件的所有行,来获得所有选中行的序号。 CString str; for(int i=0; i<m_list.GetItemCount(); i++) { if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED) { str.Format(_T("第%d 行被选中"), i); AfxMessageBox(str); } } CListCtrl控件是MFC中的一种常用的控件,用于显示列表信息。通过设置风格和扩展风格,插入数据,选中和取消选中item,获得checkbox状态和选中行的序号,可以实现复杂的列表显示功能。
剩余12页未读,继续阅读
- 粉丝: 50
- 资源: 256
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助