Retrieving the column caption
This code snippet illustrates how to retrieve the column caption for any column of a listview. Basically this works by using the HDITEM structure and the listview's associated CHeaderCtrl object.
CString Caption; // will recieve the caption
// retrieve the header control see "The header control"
CHeaderCtrl* pHeader = (CHeaderCtrl*) m_listctrl.GetDlgItem(0);
int nMaxHeaderLength=100, // or whatever you need
nColumnIndex; // starts with zero, remember to initialize!
// fill the HDITEM structure
HDITEM HdItem;
HdItem.mask = HDI_TEXT; // just get the text
HdItem.pszText = Caption.GetBuffer(nMaxHeaderLength);
HdItem.cchTextMax = nMaxHeaderLength;
// retrieve the data
pHeader->GetItem(nColumnIndex, &HdItem);
// release the Buffer and finish
Caption.ReleaseBuffer();
TRACE("The caption of the Heading Number %i is :%s\n", nColumnIndex, Caption);