MFC中利用ListCtrl的列标题获取列索引的方法

来源:互联网 发布:淘宝客服售前话术大全 编辑:程序博客网 时间:2024/04/30 16:24

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;}



用途:可以依据列名来设置对应列的索引号,从而利用索引号设置制定行列定位的单元格的内容,而不是按写死的列索引号来设置。

0 0