【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);
}
相关推荐
蓝斯49738 分钟前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
Darkwanderor41 分钟前
Linux系统编程实战项目:模拟实现shell
linux·c++
himobrinehacken1 小时前
揭秘Windows程序启动的神秘之旅
c++·安全
库玛西2 小时前
C++ 运行时多态 :核心总结与原理图解
c语言·c++·笔记
Byron Loong3 小时前
【C++】重定向是什么
开发语言·c++
hansang_IR3 小时前
【题解】LC:Z 算法(Z Algorithm)
c++·算法·字符串
网络研究院4 小时前
一款利用人工智能将电子游戏翻译成任何语言的桌面应用程序
人工智能·游戏·工具·平台·翻译·软件
CODER03044 小时前
封装忽律底层硬件差异的自定义系统
windows·microsoft
霍霍的袁5 小时前
【C++】模板从入门到进阶(函数模板 + 类模板 + 特化 + 分离编译)
开发语言·c++·visual studio
海清河晏1115 小时前
Qt 实战:信号与槽+事件系统
开发语言·c++·qt