如题,我的代码如下: 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(); } |
|
来自: herowuking > 《VC》