mfc 带有复选框的ListBox

mfc 带有复选框的 ListBox

效果:

添加 ListBox 控件

从工具箱拖拽 ListBox 控件到窗口上,并设置属性:

  • 包含字符串:true
  • 所有者描述:Fixed

给ListBox添加控制变量

添加完后,将m_list_box的类型使用CCheckListBox代替CListBox。

添加项

复制代码
	m_list_box.AddString(_T("test list box item 1"));
	m_list_box.AddString(_T("test list box item 2"));
	m_list_box.AddString(_T("test list box item 3"));
	m_list_box.AddString(_T("test list box item 4"));
	m_list_box.AddString(_T("test list box item 5"));

清空所有项

复制代码
	int ncount = m_list_box.GetCount();
	for (int i = ncount - 1; i >= 0; i--)
	{
		m_list_box.DeleteString(i);
	}

获取选中项

复制代码
	CString select_item_text = _T("");
	int total = m_list_box.GetCount();
	for (int i = 0; i < total; i++)
	{
		if (m_list_box.GetCheck(i))
		{
			m_list_box.GetText(i, select_item_text);
		}
	}

设置选中所有项

复制代码
	int total = m_list_box.GetCount();
	for (int i = 0; i < total; i++) 
	{
		m_list_box.SetCheck(i, TRUE);
	}

删除所选项

复制代码
		int ncount = m_list_box.GetCount();
		for (int i = ncount - 1; i >= 0; i--)
		{
			if (m_list_box.GetCheck(i))
			{
				m_list_box.DeleteString(i);
			}
		}
相关推荐
fpcc2 小时前
c++编程实践—堆和栈越界调试
c++
weiabc4 小时前
MSYS2 UCRT64 + g++ C++ 中文输出乱码 完整全过程
c++
灯澜忆梦5 小时前
【面向对象编程C++】| 基础语法
java·c++·算法
aqiu1111116 小时前
【C++算法打怪专栏】LeetCode 165. 比较版本号(双指针与字符串流法)
c++·算法·leetcode
chenbingjie_c7 小时前
C++ STL 适配器:stack & queue,从 vector/list 到 deque 深度解析
数据结构·c++
hetao173383710 小时前
2026-10-08 hetao1733837 的刷题记录
c++·算法
Frank_refuel11 小时前
【C++】智能指针
开发语言·c++
一只旭宝11 小时前
数据结构与算法复习手册:从写过,到讲清楚
开发语言·数据结构·c++·算法
十五年专注C++开发12 小时前
std::filesystem::exists 在有的win10系统抛异常原因分析
c++·文件系统·filesystem
hetao173383712 小时前
2026-10-07 hetao1733837 的刷题记录
c++·算法