MFC列表控件删除列解决方案

MFC列表控件删除列
列表控件报表风格下
InsertColumn()//这是插入列,表头
DeleteColumn(0)//这是删除列,但只能删除指定的列,如何在不知道多少列的情况下,删除所有的列
------解决方案--------------------
用DeleteAllItems() 这个函数,调用一下就可以了
------解决方案--------------------
CHeaderCtrl* pHead = m_ListCtrl.GetHeaderCtrl();
int nColumns=pHead->GetItemCount();
for (int i=nColumns-1; i>=0; i--)
m_ListCtrl.DeleteColumn(i);
------解决方案--------------------
while (pListWnd->DeleteColumn(0))
{
  //删除ListCtrl所有列
}

当你把第1列删除了,原来的第2列又变成了第一列了,所以一个while循环就OK了
------解决方案--------------------
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
  
  // Delete all of the columns.
  
  for (int i=0; i < nColumnCount; i++)
  {
     m_myListCtrl.DeleteColumn(0);
  }

msdn例子