【Duilib】 List控件支持多选和获取选择的多条数据

问题

使用Duilib库写的一个UI页面用到了List控件,功能变动想支持选择多行数据。

分析

1、List控件本身支持使用SetMultiSelect接口设置是否多选:

cpp 复制代码
void SetMultiSelect(bool bMultiSel);

2、List控件本身支持使用GetNextSelItem接口获取选中的下一个索引项:

cpp 复制代码
int GetNextSelItem(int nItem) const;

解决

cpp 复制代码
// ...
// 初始化控件时设置支持多选
auto pListUI = static_cast<DuiLib::CListUI*>(m_pm.FindControl(_T("list_data")));
pListUI->SetMultiSelect(true);

// ...
// 获取选择的索引时
int nSel = -1;
int nNextSel = m_pListDataUI->GetNextSelItem(nSel);
while (nNextSel >= 0)
{
	// ...
    nNextSel = m_pListDataUI->GetNextSelItem(nNextSel);
}
相关推荐
薛定猫AI17 分钟前
Codex 与 Claude Code 全平台安装配置指南(Windows / macOS / Linux)
linux·windows·macos
console.log('npc')1 小时前
Windows 11 安装 WSL2 + Ubuntu + Docker + Codex + Sub2API 教学
windows·docker·powershell·ubantu·codex
BirdenT1 小时前
20260519紫题训练
c++·算法
C+++Python9 小时前
C++ 进阶学习完整指南
java·c++·学习
sparEE9 小时前
c++值类别、右值引用和移动语义
开发语言·c++
jrrz082810 小时前
Apollo MPC Controller
c++·自动驾驶·apollo·mpc·横向控制·lateral control
小王C语言12 小时前
【线程概念与控制】:线程封装
jvm·c++·算法
学习,学习,在学习12 小时前
Qt工控仪器程序框架设计详解(工控多仪器控制版本)
开发语言·c++·qt
信竞星球_少儿编程题库12 小时前
2026年全国信息素养大赛算法应用主题赛 丝路新城 C++ 模拟卷(三)
开发语言·c++
Mr_hwt_12312 小时前
Windows安装Claude Code详细教程(含apikey配置)
windows·ai编程·claude code