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(删除的行号);//如果只选中一个,直接删除即可
}
四、运行效果
五、项目下载
下一篇:
java多态的用法,优点和缺点
