【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);
}
相关推荐
linhaijiao几秒前
C++与人工智能框架
开发语言·c++·算法
寂柒3 分钟前
C++——类型转换
c++
Ivanqhz4 分钟前
linearize:控制流图(CFG)转换为线性指令序列
开发语言·c++·后端·算法·rust
2401_873204656 分钟前
基于C++的区块链实现
开发语言·c++·算法
ShineWinsu10 分钟前
对于Linux:基础开发工具(vim、gcc/g++)的介绍
linux·运维·服务器·c++·面试·编辑器·vim
2301_7765087220 分钟前
模板代码优化策略
开发语言·c++·算法
暮冬-  Gentle°23 分钟前
C++中的空对象模式变体
开发语言·c++·算法
m0_5793936624 分钟前
C++中的命令模式
开发语言·c++·算法
fundoit25 分钟前
Windows 下 PyTorch 环境搭建指南
人工智能·pytorch·windows
汉克老师27 分钟前
GESP5级C++考试语法知识(九、二分算法(一))
c++·算法·二分算法·gesp5级·gesp五级