Retrieving the column caption

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

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 :%sn”, nColumnIndex, Caption);

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read