首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

clistctrl 如何根据insertitem中的lpszItem进行查找

2013-04-02 
clistctrl 怎么根据insertitem中的lpszItem进行查找使用clistctrl中的int InsertItem(int nItem,LPCTSTR l

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) {
    // 找到
}

[解决办法]
引用:
引用:
不知道

遍历list,比较"_a",不就能取到索引吗(我的笨办法)


再等等大神

遍历list时怎么得到"_a"呀?



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
}
}

热点排行