【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);
}
相关推荐
普通网友9 分钟前
多协议网络库设计
开发语言·c++·算法
努力努力再努力wz10 分钟前
【Linux网络系列】:TCP 的秩序与策略:揭秘传输层如何从不可靠的网络中构建绝对可靠的通信信道
java·linux·开发语言·数据结构·c++·python·算法
汉克老师24 分钟前
GESP2024年3月认证C++二级( 第二部分判断题(1-10))
c++·循环结构·分支结构·gesp二级·gesp2级
daxi15028 分钟前
C语言从入门到进阶——第9讲:函数递归
c语言·开发语言·c++·算法·蓝桥杯
njsgcs1 小时前
langchain+vlm示例
windows·python·langchain
Polaris北2 小时前
第二十七天打卡
开发语言·c++·算法
学无止境_永不停歇3 小时前
十一、C++11列表初始化、右值引用和移动语义
开发语言·c++
tiandyoin3 小时前
找到系统设置对应的注册表项
windows·注册表·系统设置·systemsettings
mjhcsp3 小时前
C++ 背包DP解析
开发语言·c++
juleskk4 小时前
2.15 复试训练
开发语言·c++·算法