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);
}
效果圖