1.获取表头
CString strNitemContent;
CString strColumnName;
int n=listCtrl.GetHeaderCtrl()->GetItemCount();
if(bNeedHead)
{
CHeaderCtrl* pHead = listCtrl.GetHeaderCtrl();//其中m_list为CListCtrl列表控件
HDITEM hdi;
TCHAR lpBuffer[256];
LPCTSTR lpszmyString;
hdi.mask = HDI_TEXT;
hdi.pszText = lpBuffer;
hdi.cchTextMax = 256;
for (int i=0;i<n;i++)
{
pHead->GetItem( i, &hdi );
strColumnName += hdi.pszText; //其中strColumnName 为index=0 即第1列的列名
strColumnName+="\t";
}
strNitemContent+=strColumnName;
strNitemContent+="\n";
}
2.获取内容
//获得列名
int nSelect=m_listCtrl.GetSelectedCount();
{
if(nSelect==1)
{
int nCount=m_listCtrl.GetSelectionMark();//得到单选的行号
}
if(nSelect>1)
{
CString str;
POSITION pos=m_listCtrl.GetFirstSelectedItemPosition(); //pos选中的首行位置
while(pos) //如果你选择多行
{
int nIdx=-1;
nIdx= m_listCtrl.GetNextSelectedItem(pos);
if(nIdx >=0&&nIdx<m_listCtrl.GetItemCount())
{
for (int i=0;i<n;i++)
{
str +=m_listCtrl.GetItemText(nIdx,i);
str+="\t";
}
str+="\n";
}
}
strNitemContent+=str;
}
}