【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);
}
相关推荐
tankeven8 小时前
C++ 算法类
c++
挨踢ren9 小时前
C++ std::function:万能函数包装器
c++
数据法师9 小时前
Wise Force Deleter:专门解决Windows文件“无法删除”问题的免费工具
windows
初願致夕霞9 小时前
Linux编程_应用层_HTTP与HTTPS协议
linux·c++·http·https
其实防守也摸鱼9 小时前
全新安装 SQL Server 并直接设置数据目录到 E 盘 完整步骤
数据库·sql·网络安全·sqlserver·教程·工具
水云桐程序员10 小时前
C++在游戏领域的项目案例有哪些?
jvm·c++·游戏
学习中.........10 小时前
Windows 上用 cc-connect 接入 Telegram + Codex:从零跑通与避坑指南
windows
铁手飞鹰10 小时前
PyModbus API对应的功能码和报文
linux·windows·python·modbus rtu·pymodbus
叼烟扛炮10 小时前
C++第五讲:内存管理
c++·算法·面试·内存管理
Ricky_Theseus10 小时前
vector 与 list 区别 + 使用场景
c++