List Control 控件
CListCtrl类封装了“列表视图控件”功能,列表视图控件中的每一项含有一个图标与标签,Windows平台资源管理器就是这种控件,有4种显示模式:大图标(32×32像素)、小图标(16×16像素)、列表视图、报表视图。
图像列表
图像列表(CImageList)是相同大小图像的一个集合,以0为图像的起始索引,本身并不是控件,需要和CListCtrl、CTreeCtrl等控件一起使用。
BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow );参数:
cx | 每个图象的尺寸,以像素为单位。 | ||||||||||||||||||
cy | 每个图象的尺寸,以像素为单位。 | ||||||||||||||||||
nFlags | 确定创建的图象列表类型。此参数可能为以下值的组合,但只能有一个ILC_COLOR值。
| ||||||||||||||||||
nInitial | 图象列表最初包含的图象数。 | ||||||||||||||||||
nGrow | 当系统需要改变列表为新图象准备空间时,图象列表可生成的图象数。此参数替代改变的图象列表所能包含的新图象数。 |
static CImageList imgList;imgList.Create(32, 32, ILC_COLOR32, 3, 1);imgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_BTC32));imgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_LTC32));imgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_XRP32));m_listctrl1.SetImageList(&imgList, LVSIL_NORMAL);m_listctrl1.InsertItem(0, _T("比特币"), 0);m_listctrl1.InsertItem(0, _T("莱特币"), 1);m_listctrl1.InsertItem(0, _T("瑞波币"), 2);m_listctrl1.SetItemState(1, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);报表视图
初始化:
m_list2.InsertColumn(0, _T("第一列"), LVCFMT_LEFT, 230);m_list2.InsertColumn(1, _T("第二列"), LVCFMT_LEFT, 230);m_icon_file16.Create(16, 16, ILC_COLOR16, 1, 1);m_icon_file32.Create(32, 32, ILC_COLOR32, 1, 1);m_icon_file16.Add(AfxGetApp()->LoadIcon(IDI_ICON_FILE16));m_icon_file32.Add(AfxGetApp()->LoadIcon(IDI_ICON_FILE32));m_list2.SetImageList(&m_icon_file32, LVSIL_NORMAL);m_list2.SetImageList(&m_icon_file16, LVSIL_SMALL);m_list2.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);增加一行:
void CDemo2Dlg::onBnClickedBtnAddrow(){ int cnt = m_list2.GetItemCount(); CString str; str.Format(_T("第%d行,第1列"), cnt + 1); m_list2.InsertItem(cnt, str, 0); str.Format(_T("第%d行,第2列"), cnt + 1); m_list2.SetItemText(cnt, 1, str);}删除一行:
void CDemo2Dlg::onBnClickedBtnDelrow(){ int cnt = m_list2.GetItemCount(); for (int i = cnt; i >= 0; i--) { if (m_list2.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED) m_list2.DeleteItem(i); }}设置报表样式:
void CDemo2Dlg::OnCbnSelchangeCombo1(){ DWORD dwStyle; switch (m_cbx_change_style.GetCurSel()) { case 0: dwStyle = LVS_ICON; break; case 1: dwStyle = LVS_SMALLICON; break; case 2: dwStyle = LVS_LIST; break; case 3: dwStyle = LVS_REPORT; break; default: return; } m_list2.ModifyStyle(LVS_TYPEMASK, dwStyle);}视频讲解
视频加载中...
