【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);
}
相关推荐
从零开始的代码生活_11 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端
Imagine Miracle12 小时前
【WSL】让WSL2后台持久运行不自动关闭的解决方案
linux·windows·wsl
aaPIXa62212 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
啦啦啦~~~22212 小时前
经典小游X,免费刺激,可离线使用!
windows·游戏·开源软件
枕星而眠13 小时前
【数据结构】红黑树入门指南
运维·数据结构·c++·后端
2601_9498177213 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
月走乂山14 小时前
Windows提示调制解调器报错、同交换机其他电脑正常、远程能连但浏览器打不开——本机DNS配置问题排查
windows·dns·故障排查·网络故障·网络诊断
烟锁池塘柳015 小时前
【C/C++】解决C++控制台输出中文乱码问题
c语言·开发语言·c++
zh路西法15 小时前
【10天速通Navigation2】(九):LQR最优控制器的原理推导与Nav2插件实现
c++·ros2·最优控制·lqr·navigation2
粘稠的浆糊15 小时前
[AtCoder - abc465_d ]X to Y题解
数据结构·c++·算法