【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);
}
相关推荐
自信150413057597 小时前
重生之从0开始学习c++之内存管理
c++·学习
wuyoula7 小时前
全新轻量级高性能跨平台 AI聊天+AI网关桌面
服务器·开发语言·c++·人工智能
m0_716765237 小时前
数据结构--单链表的插入、删除、查找详解
c语言·开发语言·数据结构·c++·笔记·学习·visual studio
牢姐与蒯7 小时前
c++进阶之继承
c++
不过如此19517 小时前
pyinstaller打包GUI项目实践
windows·python·ui
yu85939587 小时前
C++ 虚拟磁盘与虚拟光驱实现
开发语言·c++
Tingjct7 小时前
C++ 多态
java·开发语言·c++
Vanranrr8 小时前
从图形化到命令行:一次 SVN 工程化能力补齐与流程治理实践(Windows)
windows·svn
lclin_20208 小时前
大恒Galaxy SDK MFC开发(1):枚举、打开、开始_停止采集基础流程(无画面版)
c++·机器视觉·工业相机·大恒相机·galaxysdk
初圣魔门首席弟子8 小时前
bug20260415
c++·bug