【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);
}
相关推荐
c2385610 小时前
c/c++中的二叉树进阶
c语言·c++·算法
风吹夏回10 小时前
保姆级教程:Dify 本地一键部署(Windows/Mac 通用)
windows·macos
晚风吹红霞10 小时前
C++模板进阶:非类型参数、特化、分离编译与优缺点解析
开发语言·c++
不会C语言的男孩11 小时前
C++ Primer 第8章:IO 库
开发语言·c++
雾岛心情11 小时前
【小铭邮箱】小铭邮箱工具箱公司版本导入VCF文件
运维·工具·exchage·o365·小铭邮件工具箱(公司版)
磊 子11 小时前
C++仿函数以及STL内置仿函数
开发语言·c++
王璐WL11 小时前
【C++进阶】map/multimap 容器详解:从基础使用到底层实现与高频面试题
c++
Fly feng11 小时前
windows 内核原理之内核名字及相关概念
windows·内核原理
basketball61612 小时前
设计模式入门:5. 代理模式详解 C++实现
c++·设计模式·代理模式
哈泽尔都12 小时前
运动控制教学——5分钟学会力控算法(阻抗/导纳/力位混合)
c++·python·算法·决策树·贪心算法·机器人·gpu算力