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);
			}
		}
相关推荐
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
不想写代码的星星2 小时前
std::move 根本不移动,就像老婆饼里没有老婆
c++
redaijufeng2 小时前
C++雾中风景7:闭包
c++·算法·风景
小欣加油2 小时前
leetcode287寻找重复数
数据结构·c++·算法·leetcode
思麟呀2 小时前
C++11 核心特性(三):强类型枚举、static_assert 与 std::tuple
开发语言·c++
一拳一个呆瓜2 小时前
【STL】C++程序的启动与终止
c++·stl
凡人叶枫3 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
凡人叶枫3 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
王老师青少年编程3 小时前
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-复赛模拟卷6:文末附答案)
c++·答案·模拟卷·复赛·2026年·青少年信息素养大赛·算法应用主题赛
视觉小萌新4 小时前
C++利用libmicrohttpd制作交互网页端——C1
java·c++·交互