MFC List Control删除问题

如图当点击添加按钮添加一些信息后,现在想多行删除,代码如下:CListCtrl*pList=(CListCtrl*)GetDlgItem(IDC_LIST);if(!pL... 如图 当点击添加按钮添加一些信息后,现在想多行删除,代码如下:CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);if (!pList->GetSelectedCount()){AfxMessageBox(_T("请选择一行再删除"));return;}POSITION pos = pList->GetFirstSelectedItemPosition();while (pos){int nSel = pList->GetNextSelectedItem(pos);CString str = pList->GetItemText(nSel, 0);if (IDNO == AfxMessageBox(_T("确定要删除") + str + _T("的信息吗?"), MB_YESNO))continue;pList->DeleteItem(nSel);}这里工号定义的是int型当选中多项后,选择删除,出现问题:删除了没有选中的项。经过分析发现当删除第一项后,pos指向下一个位置,但此时第一个选中的已经被删除,导致pos指向位置发生错位,第二个删除的已不是本应该删除的,导致删除问题。这个应该怎么解决呢?谢谢大家解答。 展开
 我来答
匿名用户
2017-08-16
展开全部
你在OnInitDialog()函数中进行初始化,如果你里边是用变量表示的话,记得在你的函数调用中使用UpdateData();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式