C++ 获取具有列标题的列的索引(CListCtrl)mfc++;

C++ 获取具有列标题的列的索引(CListCtrl)mfc++;,c++,mfc,C++,Mfc,每次使用IsertColumn函数时,它都会返回一个int变量。该变量是列的索引。 如果我们有很多列,是否有任何方法可以获得具有给定名称的列的索引(该列的标题文本)。 谢谢:::(国际IPO,*pHeaderItem) HDITEM::pszText是您想要的-如果我正确地回答了您的问题…根据您的请求,类似于此的内容应该可以 此示例派生一个要在对话框中使用的CListCtrl int MyListCtrl::FindColumn(const CString& ColumnText)

每次使用IsertColumn函数时,它都会返回一个int变量。该变量是列的索引。 如果我们有很多列,是否有任何方法可以获得具有给定名称的列的索引(该列的标题文本)。 谢谢

::(国际IPO,*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;
    }

其中“Value”是标题中实际列的文本。

如果要寻找通过标题的列文本调用的方法,则该方法不存在。然而,你自己写一个函数应该不难。你能给我写这个函数的建议吗?谢谢谢谢,您的代码是获取列的标题文本。我想得到该列的索引。但这没有功能,所以我可以用你的方式。你能给我举个如何使用它的例子吗。
int index = m_llistctrl.FindColumn(_T("Value"));