在.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);
}
}