在.h中
CListCtrl m_ListCtrl;
在.cpp中
//添加ListCtrl標題
m_ListCtrl.InsertColumn(0,_T("標題"),LVCFMT_CENTER); //第一欄設置center屬性不能成功
m_ListCtrl.SetColumnWidth(0,200);
m_ListCtrl.InsertColumn(1,_T("位置"),LVCFMT_CENTER);
m_ListCtrl.SetColumnWidth(1,140);
//設置選擇整行屬性
DWORD dwStyle = m_ListCtrl.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; //整行選擇
dwStyle |= LVS_EX_GRIDLINES; //網格線
m_ListCtrl.SetExtendedStyle(dwStyle);
//取得標題欄文字
int nCol = m_ListCtrl.GetHeaderCtrl()->GetItemCount(); //取得標題欄列數
HDITEM hdi;
hdi.mask = HDI_TEXT;
TCHAR buffer[MAX_LEN] = {0}; //必須先賦一臨時值後才能取出標題
hdi.pszText = buffer;
hdi.cchTextMax = MAX_LEN;
int nItem = m_ListCtrl.GetItemCount(); //當前所有的記錄數
m_ListCtrl.InsertItem(nItem,_T("")); //插入一行
m_ListCtrl.GetHeaderCtrl()->GetItem(i,&hdi);
CString str = hdi.pszText;
m_combox.FindString(0,str);//在combox中查找指定的字符串
刪除ListView中的記錄:
int nCount = m_ListCtrl.GetItemCount();
//注:應該從後往前刪除,因爲如果從前刪除,則後面的記錄會上移,這樣會導致後面選中的記錄可能無法正確刪除
for (int i=nCount;i>=0;i--)
{
if (m_ListCtrl.GetItemState(i,LVIS_SELECTED)&LVIS_SELECTED)//選中
{
m_ListCtrl.DeleteItem(i);
}
}