【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);
}
相关推荐
Rudon滨海渔村13 小时前
windows10如何删除多余的输入法 - 仅保留English+拼音
windows·输入法
码匠许师傅14 小时前
【C++ 面试真题】聊聊 C++ 中的 lambda 表达式
java·c++·面试
依然鸣14 小时前
PTA团体程序设计天梯赛L1真题讲解L1-085-088
数据结构·c++·经验分享·算法·深度优先·pat考试
YCOSA202514 小时前
雨晨 Windows 11 IoT 企业版 LTSC 26H1 特制 28000.2796
windows·物联网
沙盘客14 小时前
AFSIM 14篇 C++ 插件开发:扩展你的仿真能力
c++·后端
Jay-r14 小时前
DeepSeek Harness 极简上手:装好、玩熟、让它自己长新能力
人工智能·windows·ai·github·ai编程·deepseek·harness
NeilYuen14 小时前
【vemory】高性能KV存储AOF方案设计
linux·c++·redis·缓存
王老师青少年编程16 小时前
2021年CSP-J初赛真题及答案解析(完善程序2)
c++·真题·csp-j·答案·csp·初赛·信奥赛
夏悠16 小时前
OpenClaw + Ollama Windows完整部署过程
windows
有点。16 小时前
C++二叉树(一)
开发语言·数据结构·c++