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