MFC编程 -- 列表删除单行及多行操作

简介: MFC编程 -- 列表删除单行及多行操作

一、添加删除按钮


0a2653c851af460fa595bd959398a8f1.png


二、删除单行操作

void C管理系统Dlg::OnBnClickedButton3()
{
  CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);//获取列表句柄
  int 删除的行号 = 列表句柄->GetSelectionMark();//获取选中的行号
  列表句柄->DeleteItem(删除的行号);//通过行号删除内容
}

三、删除多行操作


1、在头文件声明一下函数,否则cpp里面无法识别

class C管理系统Dlg : public CDialogEx
{
// 构造
  void 读取信息();
  void 递归删除(POSITION);
public:
  C管理系统Dlg(CWnd* pParent = nullptr);

2、通过递归函数实现

CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);//获取列表句柄
  POSITION 选中的行数 = 列表句柄->GetFirstSelectedItemPosition();//获取第一个选中 行号
  递归删除(选中的行数);//通过递归删除

3、实现递归删除函数

CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);//获取列表句柄
  int 删除的行号 = 列表句柄->GetNextSelectedItem(删除的内容);//获取下一个要删除的行号
  if (删除的内容!=NULL)
  {
    递归删除(删除的内容);//不断递归,知道删除内容为空
    列表句柄->DeleteItem(删除的行号);//通过行号删除内容
  }
  else
  {
    列表句柄->DeleteItem(删除的行号);//如果只选中一个,直接删除即可
  }

四、运行效果

0a2653c851af460fa595bd959398a8f1.png

目录
相关文章
|
存储 SQL Java
MySQL存储过程手册,及创建存储过程:循环为所有表添加字段
MySQL存储过程手册,及创建存储过程:循环为所有表添加字段
624 0
MySQL存储过程手册,及创建存储过程:循环为所有表添加字段
|
3月前
MFC编程 -- 保存和读取列表框内容
MFC编程 -- 保存和读取列表框内容
20 0
|
3月前
MFC编程 -- 高级列表框添加数据
MFC编程 -- 高级列表框添加数据
14 0
|
12月前
|
Oracle 关系型数据库
常用oracle语句-查看表注释表的字段以及注释
常用oracle语句-查看表注释表的字段以及注释
|
C++
MFC编程 -- 列表删除单行及多行操作
MFC编程 -- 列表删除单行及多行操作
190 0
MFC编程 -- 列表删除单行及多行操作
|
SQL 关系型数据库 MySQL
十一、操作delete或者update语句,加个limit或者循环分批次删除
十一、操作delete或者update语句,加个limit或者循环分批次删除
209 0
|
安全 小程序 Shell
PE格式:新建节并插入代码
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密,病毒分析,外挂技术等。
222 0
PE格式:新建节并插入代码
|
编解码 数据库 Python
pycharm文件位置,数据库–关于truncate和delete的区别,deletewith open()的使用方法
pycharm文件位置,数据库–关于truncate和delete的区别,deletewith open()的使用方法
104 1
SwiftUI—如何使列表同时支持删除和移动记录的功能
SwiftUI—如何使列表同时支持删除和移动记录的功能
115 0
SwiftUI—如何使列表同时支持删除和移动记录的功能
|
前端开发
Cypress系列(22)- 可操作类型的命令 之 select()
Cypress系列(22)- 可操作类型的命令 之 select()
229 0
Cypress系列(22)- 可操作类型的命令 之 select()