每次使用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是你想要的-如果我得到你的问题正确…