【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);
}
相关推荐
一只积极向上的小咸鱼16 分钟前
Codex 在 VS Code + ModelArts 场景下的登录与配置总结
linux·运维·windows
飞鸿踏雪(蓝屏选手)4 小时前
137 ≤ Chrome 主密钥获取研究
c++·chrome·windows·网络安全·逆向分析
阿虎儿7 小时前
[实战记录] Windows 11 远程桌面已开启,但 3389 端口无监听?终极排查与修复
windows
从孑开始8 小时前
manyspeech-cli 语音识别命令行工具
人工智能·语音识别·工具·asr
汉克老师10 小时前
GESP6级C++考试语法知识(四、图与树(四))
c++·贪心算法·优先队列·哈夫曼编码·哈夫曼树·gesp6级·gesp六级
子兮曰10 小时前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端
特种加菲猫11 小时前
二叉搜索树:数据世界的“快速寻路指南”
开发语言·c++
naturerun11 小时前
从数组中删除元素的算法
数据结构·c++·算法
特种加菲猫11 小时前
STL关联容器:Set/Multiset与Map/Multimap详解
开发语言·c++
Andy11 小时前
C++ list容器基本逻辑结构详解
c++·windows·list