我写了一段代码,主要是用来删除界面上CListCtrl控件上当前选定的项,结果发现:如果当前只是选择一栏,删除很正常,但是如果选择多栏的话
没有把所有选定的都删除,总是有一部分没有删除掉。我跟踪了一下,选定的都已经作了删除操作,但界面上没有删除掉,不知道是什么原因?void CMyDlg::OnDelSel() 
{
// TODO: Add your control notification handler code here
int nCount = m_ListCtrl.GetItemCount();
for(int i=0; i<nCount; i++)
{
if(m_ListCtrl.GetItemState(i, LVIS_SELECTED)==LVIS_SELECTED)
m_ListCtrl.DeleteItem(i);
}
}这代码有问题吗?

解决方案 »

  1.   

    for(int i=0; i<nCount; i++)换成
    for(int i = nCount -1 ; i >= 0 ; i--)
    试试
      

  2.   

    ---------------------------
    技术上可行
    符合你的要求吗?
    如果不明白
    请给我发短消息
    请附: 帖子的地址
    或在
    http://www.338888.com/VCShare/Default.asp
    上提问
      

  3.   

    恩,he_zhidan(何志丹:风云伐日),好多星星啊,更难得的是热心啊!我也很热心,能不能给我半颗,哈哈