Windows图形界面(GUI)-MFC-C/C++ - 列表框(ListBox) - CListBox

目录

[列表框(ListBox) - CListBox](#列表框(ListBox) - CListBox)

基本概念

成员方法

示例代码


列表框(ListBox) - CListBox

基本概念
  • 列表框控件是一个窗口,通常在对话框中使用,用于显示一个项目列表,用户可以从中选择一个或多个项目。

  • 列表框可以设置为单选(一次只能选择一个项目)或多选(可以同时选择多个项目)。

  • 在MFC中,列表框控件由 CListBox 类管理。这个类提供了操作列表框的方法和属性。

成员方法
  • Create:创建列表框控件并将其附加到 CListBox 对象。

  • AddString:向列表框中添加一个字符串。

  • DeleteString:从列表框中删除一个字符串。

  • InsertString:在列表框中的指定位置插入一个字符串。

  • ResetContent:清除列表框中的所有字符串。

  • GetCount:获取列表框中字符串的数量。

  • GetCurSel:获取列表框中当前选中项的索引(单选模式)。

  • SetCurSel:设置列表框中当前选中的字符串。

  • GetSel:获取列表框中指定项的选中状态。

  • SetSel:设置列表框中指定项的选中状态(多选模式)。

  • GetText:从列表框中获取指定项的文本。

  • GetTextLen:获取列表框中指定项的文本长度。

示例代码
cpp 复制代码
void CMainDlg::OnBnClickedButton4()
{
	CString strListItem;
	m_ListItem.GetWindowTextW(strListItem);
	m_ListBox.AddString(strListItem);
}

void CMainDlg::OnBnClickedButton5()
{
	int nIndex = m_ListBox.GetCurSel();
	if (nIndex != LB_ERR)
	{
		m_ListBox.DeleteString(nIndex);
	}
}

void CMainDlg::OnBnClickedButton6()
{
	int nIndex = m_ListBox.GetCurSel();
	if (nIndex != LB_ERR)
	{
		CString strListItem;
		m_ListItem.GetWindowTextW(strListItem);
		m_ListBox.InsertString(nIndex, strListItem);
	}
}

void CMainDlg::OnBnClickedButton15()
{
	m_ListBox.ResetContent();
}

void CMainDlg::OnBnClickedButton16()
{
	m_ListBox.SetCurSel(0);
}

void CMainDlg::OnBnClickedButton17()
{
	int nIndex = m_ListBox.GetCurSel();
	if (nIndex != LB_ERR)
	{
		CString strItemText;
		m_ListBox.GetText(nIndex, strItemText);
		AfxMessageBox(strItemText);
	}
}

void CMainDlg::OnLbnDblclkList1()
{
	int nIndex = m_ListBox.GetCurSel();
	if (nIndex != LB_ERR)
	{
		CString strItemText;
		m_ListBox.GetText(nIndex, strItemText);
		AfxMessageBox(strItemText);
	}

	
}
相关推荐
Highcharts.js16 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
头发还在的女程序员17 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
王维同学17 小时前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
拳里剑气19 小时前
C++算法:BFS解决FloodFill算法
c++·算法·bfs·宽度优先
爱写代码的小朋友19 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华19 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.19 小时前
C++:语句和作用域
开发语言·c++
fqbqrr20 小时前
2607C++,soui,xplayer视频播放器
c++·soui
wanderist.20 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
zh路西法21 小时前
【10天速通ROS2-PX4无人机】(四) 关掉GPS和气压计,纯激光定位还能飞吗
c++·无人机·px4·ros2·卡尔曼滤波·fastlio2