[英]Get Index of Item Text in MFC CListCtrl
我有一個CString,它的Text也是CListCtrl的Item Text。 例如:
CString m_SearchThisItemText = _T("Banana");
在我的CListCtrl中
m_List.SetItemText (1, 1, _T ("Banana"));
現在,我想找出文本在哪個索引上。
CListCtrl::FindItem
不起作用。 它僅搜索項目的名稱,而不搜索文本。
我也試過了
for (Index= 0; dlg.GetSearchContentText () == m_List.GetItemText (Index, Spalte); Index++)// HIER IST NOCH EIN FEHLER.
{
if (dlg.GetSearchContentText () == m_List.GetItemText(Index, Spalte))
{
m_List.SetItemState (Zeile, LVIS_SELECTED, LVIS_SELECTED);
m_List.SetFocus();
}
}
但它不起作用。 停在索引0
誰能幫助我,如何確定文本在哪個項目上。
我希望你能理解我的問題。
迭代所有項目並在所需的列中搜索:
int nCol = 1; // to search in the second column (like your question)
CString m_SearchThisItemText = _T("Banana");
for (int i = 0; i < m_List.GetItemCount(); ++i)
{
CString szText = m_List.GetItemText(i, nCol);
if (szText == m_SearchThisItemText)
{
// found it - do something
break;
}
}
如果您的意思是說您有一個包含幾列的列表視圖,並且想要搜索除第一列之外的其他列,那么FindItem
將無濟於事。 您必須自己明確編寫查找代碼。 您必須遍歷列表中的所有行,並針對行的每一列調用GetItemText
,並將獲得的內容與所擁有的文本進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.