mfc初学,本人小白
今天学习了一下CListCtrl控件,现在做总结:
1.对CListCtrl控件的初始化
void CDriverCard_LHS_2_1Dlg::InitListCtrl(void)
{
m_listCtrl.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
m_listCtrl.InsertColumn(0,_T("NO."),LVCFMT_LEFT,100);
m_listCtrl.InsertColumn(1,_T("Name"),LVCFMT_LEFT,100);
m_listCtrl.InsertColumn(2,_T("Car"),LVCFMT_LEFT,100);
m_listCtrl.InsertColumn(3,_T("Date"),LVCFMT_LEFT,100);
m_listCtrl.InsertColumn(4,_T("Available"),LVCFMT_LEFT,100);
int i = 0;
for (std::vector<CCardInfo>::iterator p = m_carManage.m_vciRecord.begin();
p != m_carManage.m_vciRecord.end();p++)
{
CString str1,str2,str3,str4,str5;
str1.Format(_T("%s"),p->m_cardId);
str2.Format(_T("%s"),p->m_cardName);
str3.Format(_T("%s"),p->m_cardCar);
str4.Format(_T("%s"),p->m_cardDate);
str5.Format(_T("%s"),p->m_cardAvailable);
m_listCtrl.InsertItem(i,str1);
m_listCtrl.SetItemText(i,1,str2);
m_listCtrl.SetItemText(i,2,str3);
m_listCtrl.SetItemText(i,3,str4);
m_listCtrl.SetItemText(i,4,str5);
i++;
}
}
上述的代码是初始化列的信息。
2.添加每一行的信息
CString str1,str2,str3,str4,str5;
int i = 0;
str1.Format(_T("%s"),dlg.m_pAddCarInfo->m_cardId);
str2.Format(_T("%s"),dlg.m_pAddCarInfo->m_cardName);
str3.Format(_T("%s"),dlg.m_pAddCarInfo->m_cardCar);
str4.Format(_T("%s"),dlg.m_pAddCarInfo->m_cardDate);
str5.Format(_T("%s"),dlg.m_pAddCarInfo->m_cardAvailable);
i = m_listCtrl.GetItemCount();
m_listCtrl.InsertItem(i,str1);
m_listCtrl.SetItemText(i,1,str2);
m_listCtrl.SetItemText(i,2,str3);
m_listCtrl.SetItemText(i,3,str4);
m_listCtrl.SetItemText(i,4,str5);
先用InsertItem()函数添加一行,再用SetItemText()函数添加其他列上的信息。
3.删除一行信息
int nCount = m_myListCtrl.GetItemCount();
// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
m_myListCtrl.DeleteItem(0);
}
例子是来自msdn,因为我使用的是DeleteAllItem()函数,再向里面添加没被删除的行,比较麻烦。