簡體   English   中英

在MFC CListCtrl中獲取項目文本的索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM