分享

MFC 列表控件如何删除选中的多条数据记录

 herowuking 2015-10-15
如题,我的代码如下:
POSITION pos = m_ListCtrlVersionInfo.GetFirstSelectedItemPosition();
for(POSITION posTemp=pos;posTemp!=NULL;)
{
   int index=m_ListCtrlVersionInfo.GetNextSelectedItem(posTemp);
   m_ListCtrlVersionInfo.DeleteItem(index);
}

删除时,总是还剩下一条记录没有删除,要怎么办,求大神指导。

1# 最佳答案:
while(m_ListCtrlVersionInfo.GetNextItem(-1,LVNI_ALL | LVNI_SELECTED) != -1)
{
     int nItem = m_ListCtrlVersionInfo.GetNextItem(-1,LVNI_ALL | LVNI_SELECTED);
     m_ListCtrlVersionInfo.DeleteItem(nItem);
}

2# 另外一种方法:
POSITION pos = m_list.GetFirstSelectedItemPosition();
while (pos != NULL)
{
int nIdx = m_list.GetNextSelectedItem(pos);
m_list.DeleteItem(nIdx);
                // 删除记录后POS有变化,重新获取一次
               pos = m_list.GetFirstSelectedItemPosition();
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多