int GetColumnIdx(CListCtrl& _listCtrl,TCHAR* _pStrColumnName)
{
assert(_pStrColumnName);
int nColumnIdx = -1;//代表没有找到
CHeaderCtrl* pHeaderCtrl = _listCtrl.GetHeaderCtrl();
if (pHeaderCtrl != NULL)
{
int nColumnCount = pHeaderCtrl->GetItemCount();
for (int i = 0; i < nColumnCount; i++)
{
HDITEM pHeadItem;
pHeadItem.mask = HDI_TEXT;
const int MAX_HEADER_LEN = 256;
TCHAR lpBuffer[MAX_HEADER_LEN];
pHeadItem.pszText = lpBuffer;
pHeadItem.cchTextMax = MAX_HEADER_LEN;
pHeaderCtrl->GetItem(i,&pHeadItem);
if (StrCmp(pHeadItem.pszText, _pStrColumnName) == 0)
{
nColumnIdx = i;
break;
}
}
}
return nColumnIdx;
}
用途:可以依据列名来设置对应列的索引号,从而利用索引号设置制定行列定位的单元格的内容,而不是按写死的列索引号来设置。