博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mfc listctrl删除选中项的问题
阅读量:4192 次
发布时间:2019-05-26

本文共 512 字,大约阅读时间需要 1 分钟。

因为如果你要删除多行的话,往往要出错。比如,我现在要删除第0行和第1行(列表的行序列是从0开始的)

 

m_listctrl.DeleteItem(0)m_listctrl.DeleteItem(1)

这样子是不行的

因为你删除第0行以后,下面的行会往上移,那么原来的第1行就变成了第0行,那么你再 m_listctrl.DeleteItem(1),那么删除的是原来的第2行,真麻烦,

所以,只有从下往上删,才是安全的,先删的,不会影响后面的操作

m_listctrl.DeleteItem(1)m_listctrl.DeleteItem(0)

删除时用GetFirstSelectedItemPosition/GetNextSelectedItem遍历是不行的,因为删除后POSITION有问题。要倒过来,从后向前删。类似这样:

for (iItem = list.GetItemCount() - 1; iItem >= 0; iItem--)
{
    if (list.GetItemState(iItem, LVIS_SELECTED) == LVIS_SELECTED)
    list.DeleteItem(iItem);

转载地址:http://akloi.baihongyu.com/

你可能感兴趣的文章
(七)Git--自定义Git
查看>>
(五)Git--分支管理
查看>>
(四)Git--远程仓库
查看>>
(六) Git--标签管理
查看>>
java中继承,子类是否继承父类的构造函数
查看>>
什么是Spring Cloud ?
查看>>
pyqt实现界面化编程
查看>>
qt写DLL文件并调用和出现的问题分析
查看>>
工厂模式(Factory)-设计模式(一)
查看>>
建造者模式(Builder)-设计模式(三)
查看>>
初学Java必备基础知识,编程领域你需要掌握的关键点!
查看>>
阿里五年Java程序员的总结,献给还在迷茫中的你!
查看>>
程序员身上有异味,同事为什么都不会直接告诉他?
查看>>
Java、C、C+ +、PHP、Python分别用来开发什么?一篇文章告诉你!
查看>>
Linux-SHELL常用命令
查看>>
Linux-网络运维基础
查看>>
Verilog编程网站学习——门电路、组合电路、时序电路
查看>>
android——学生信息显示和添加
查看>>
Android——ImageSwitcher轮流显示动画
查看>>
Android——利用手机端的文件存储和SQLite实现一个拍照图片管理系统
查看>>