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例子
列表控件报表风格下
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例子