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