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

目录
相关文章
|
8月前
|
Java
【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)
【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)
|
8月前
|
C++
MFC编程 -- 列表删除单行及多行操作
MFC编程 -- 列表删除单行及多行操作
99 1
|
8月前
MFC编程 -- 保存和读取列表框内容
MFC编程 -- 保存和读取列表框内容
97 1
|
设计模式 数据库
Access2016删除主键列(图文操作)错误提示:若要删除主键,请在“设计”视图中打开该表并删除主键字段
Access2016删除主键列(图文操作)错误提示:若要删除主键,请在“设计”视图中打开该表并删除主键字段
Access2016删除主键列(图文操作)错误提示:若要删除主键,请在“设计”视图中打开该表并删除主键字段
|
存储 SQL 分布式计算
导出 Export--默认模式导出(Insert)| 学习笔记
快速学习 导出 Export--默认模式导出(Insert)
231 0
导出 Export--默认模式导出(Insert)| 学习笔记
|
物联网 Shell 数据库
SQLite 插入和修改操作 | 学习笔记
快速学习 SQLite 插入和修改操作
|
数据库管理
sqlite实用技巧:查询表数据时,使用列对齐,显示表头
sqlite实用技巧:查询表数据时,使用列对齐,显示表头
sqlite实用技巧:查询表数据时,使用列对齐,显示表头
|
关系型数据库 MySQL 数据库
插入命令 insert 和查询命令 select 的组合使用|学习笔记
快速学习插入命令 insert 和查询命令 select 的组合使用
2455 0