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

Posted web安全工具库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC编程 -- 列表删除单行及多行操作相关的知识,希望对你有一定的参考价值。

一、添加删除按钮

二、删除单行操作

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(删除的行号);//如果只选中一个,直接删除即可
  

四、运行效果

五、项目下载

关注网络搞笑编程公众号,后台回复:20220528

以上是关于MFC编程 -- 列表删除单行及多行操作的主要内容,如果未能解决你的问题,请参考以下文章

MFC 如何列表一选就选中整行(CListCtrl)

Apache Spark将多行连接成单行列表[重复]

Pyhton 单行多行注释符号使用方法及规范

删除所有空格并将多行合并为 SQL 中的单行

VS2019 mfc combo box 调整下拉框高度(实测可行)及初始化

使用 LINQ 将具有相同值的多行列表连接成单行