List Control 控件一共有四种呈现的方式
大图标、小图标、列表和报表形式
列表没有表头,报表形式有表头
protected:
CImageList m_imagelist;添加图片变量可显示图片
初始化
m_list.InsertColumn(0,L"第一列", LVCFMT_LEFT,100);
m_list.InsertColumn(1, L"第二列", LVCFMT_LEFT, 100);
//创建图片 32位
m_imagelist.Create(32, 32, ILC_COLOR32, 1, 1);
m_imagelist.Add(m_hIcon);
//设置图片
m_list.SetImageList(&m_imagelist, LVSIL_SMALL);//小图标可以在报表形式中显示
m_list.SetImageList(&m_imagelist, LVSIL_NORMAL);//正常图标在大图标中显示
“添加“按钮
int nCount = m_list.GetItemCount();//获取多少行
int nTemp = 1;
CString strBuf;
strBuf.Format(L"第%d行的%d列", nCount + 1,nTemp++);
m_list.InsertItem(nCount, strBuf, 0);//添加到第n行,第0列
strBuf.Format(L"第%d行的%d列", nCount + 1, nTemp++);
m_list.SetItemText(nCount, 1, strBuf);//添加到第n行,第1列
删除
int nCount = m_list.GetItemCount();
for (int i = nCount - 1;i >= 0;--i)
{
if (m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED)//获取当前单元格状态,被选中的话删除
{
m_list.DeleteItem(i);
break;
}
}
ComboBox
大图标、小图标、列表和报表形式四个选项
CBN_SELCHANGE
//改变ComboBox选项消息
void CListDemoDlg::OnSelchangeComboType()//当选项改变时CBN_SELCHANGE
{
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_TYPE);//获取ComboBox控件
DWORD dwStyle = 0;
switch (pComboBox->GetCurSel())
{
case 0://大图标
dwStyle = LVS_ICON;
break;
case 1://小图标
dwStyle = LVS_SMALLICON;
break;
case 2://list
dwStyle = LVS_LIST;
break;
case 3://详细信息
dwStyle = LVS_REPORT;
break;
default:
return;
}
m_list.ModifyStyle(LVS_TYPEMASK,dwStyle);
}