簡體   English   中英

使用列標題(CListCtrl)獲取列的索引MFC C ++

[英]Get index of a column with the header of column (CListCtrl) mfc c++

每次我使用IsertColumn函數時,它將返回一個int變量。 該變量是列的索引。 如果我們有很多列,有什么方法可以獲取給定名稱的列索引(該列的標題文本)。 謝謝

CListCtrl :: GetHeaderCtrl :: GetItem (int iPos, HDITEM * pHeaderItem);

HDITEM :: pszText是您想要的-如果我正確地提出了您的問題...

根據您的請求,類似的事情應該起作用。

本示例派生要在對話框中使用的CListCtrl。

int MyListCtrl::FindColumn(const CString& ColumnText)
    {
    int index = -1;
    CHeaderCtrl* pHeader = GetHeaderCtrl();
    if (pHeader)
        {
        int NumberOfColumns = pHeader->GetItemCount();
        for (int i = 0; i < NumberOfColumns; ++i)
            {
            HDITEM Item;
            TCHAR buffer[256] = { 0 };
            Item.mask = HDI_TEXT;
            Item.pszText = buffer;
            Item.cchTextMax = 256;
            pHeader->GetItem(i, &Item);
            if (Item.pszText == ColumnText)
                {
                index = i;
                break;
                }
            }
        }
    return index;
    }

調用函數:

int index = m_llistctrl.FindColumn(_T("Value"));

其中“值”是標題中實際列的文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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