clistctrl 怎么根据insertitem中的lpszItem进行查找
使用clistctrl中的
int InsertItem(
int nItem,
LPCTSTR lpszItem
);
插入行,怎么根据lpszItem查找nItem?
FindItem只能根据行的第一列进行查找
例如:
int nItem=0;
m_listCtrl.InsertItem(++nItem, "_a");
m_listCtrl.SetItemText(nItem, 1, "1");
m_listCtrl.SetItemText(nItem, 2, "2");
m_listCtrl.InsertItem(++nItem, "_b");
m_listCtrl.SetItemText(nItem, 1, "1");
m_listCtrl.SetItemText(nItem, 2, "2");
现在我要得到 "_a"的nItem,该怎么写呀? MFC clistctrl
[解决办法]
int iItem;
LVFINDINFO lvfi;
lvfi.flags = LVFI_STRING;
lvfi.psz = TEXT("_a");
iItem = m_listCtrl.FindItem(&lvfi);
if (iItem != -1) {
// 找到
}
[解决办法]
int nIndex = m_list.GetItemCount();
CString str(_T("_a"));
for(int row=0; row<nIndex+1; row++)
{
CString strText;
strText = m_list.GetItemText(row, 0);
if (str.CompareNoCase(strText) == 0)
{
//这个row就是你要的nItem
}
}