【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);
}
相关推荐
苏宸啊2 小时前
IPC管道
linux·c++
BestOrNothing_20152 小时前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
Qiuner4 小时前
Pico 重塑Agent时代人与数据交互方式
windows·docker·ai·架构
艾iYYY4 小时前
string 类的模拟实现
android·服务器·c语言·c++·算法
为何创造硅基生物4 小时前
C++ virtual void StartNetwork() = 0; // 纯虚:子类必须实现,否则不能 new。
c++
FL16238631294 小时前
Windows x64 系统安装 ChromeDriver
windows
知无不研4 小时前
对套接字的深入理解
linux·服务器·网络·c++·socket·网络套接字
百事牛科技5 小时前
两种方法锁定 PDF,拒绝内容被随意篡改
windows·pdf
hai3152475436 小时前
FlashAttention C语言(C++)实现(展示版)
c语言·开发语言·c++·人工智能·算法
wuminyu6 小时前
Java锁机制之Java对象重量级锁源码剖析
java·linux·c语言·jvm·c++