【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);
}
相关推荐
jinyishu_8 分钟前
模拟实现 C++ 栈和队列——从适配器模式看懂 STL 容器之美
java·c++·适配器模式
hehelm9 分钟前
AI大模型接入SDK—通用模块设计
linux·开发语言·c++
剪刀石头布Cheers2 小时前
NDM浏览器插件无法连接后台的问题
windows·端口冲突·ndm
hold?fish:palm3 小时前
RDB全量快照备份
c++·redis·后端
盐焗鹌鹑蛋4 小时前
【C++】C++11:列表初始化、声明、STL升级
c++
ComputerInBook6 小时前
c 和 c++ 中的宏块(macro)
c语言·c++··宏块·宏指令
AA陈超7 小时前
004 T02 - 俯视角摄像机系统 设计文档
网络·c++·ue5·虚幻引擎
bu_shuo7 小时前
c与cpp中的argc和argv
c语言·c++·算法
蓝创精英团队7 小时前
VCPKG 跨平台C++ 库管理器
c++·vcpkg
PiaoShiSun7 小时前
Windows环境下批量删除文件夹内仅有1个/2个/*个文件的文件夹
windows·批量删除单文件的文件夹