ListCtrl::DeleteColumn的一点小经验

今天在写程序的时候,发现DeleteColumn有点小问题。

我想删除List的所有Column,于是用下面的语句。

 

 m_list_mailinfo.DeleteColumn(0);
 m_list_mailinfo.DeleteColumn(1);
 m_list_mailinfo.DeleteColumn(2);
 m_list_mailinfo.DeleteColumn(3);
 m_list_mailinfo.DeleteColumn(4);
 m_list_mailinfo.DeleteColumn(5);

 

它只删除了三个,还剩下三个。试了半天才发现,

当删除一个Column的时候,其他的Column的索引值会变化。

比如第一条语句删除Column 0的时候,Column 1就变成0了,以次类推。

 

如果要解决这个可以使用下面这条语句,因为每删一次,后面一个Column都会变成0,删6次也就都删了。

 

 for (int i=0;i<6;i++)
 {
  m_list_mailinfo.DeleteColumn(0);
 }

你可能感兴趣的:(list)