获取具有列标头的列的索引(CListCtrl)

  • 本文关键字:索引 CListCtrl 获取 c++ mfc
  • 更新时间 :
  • 英文 :


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

根据您的请求,类似的东西应该工作....

这个例子派生了一个在对话框中使用的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"));

其中"Value"为页眉中实际列的文本

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

HDITEM::pszText是你想要的-如果我得到你的问题正确…

相关内容

  • 没有找到相关文章

最新更新