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