【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);
}
相关推荐
jimy18 小时前
c++隐式移动构造、强制拷贝省略、返回具名局部变量
开发语言·c++
星栖与芯9 小时前
# STM32MP157+LiteOS-M GCC极简工程:启动源码适配+Windows Make终极避坑
windows·stm32·单片机
fpcc9 小时前
跟我学C++中级篇—static_assert和assert
开发语言·c++
AI视觉网奇10 小时前
图片转矢量图 算法总结
windows
Zenova EdgeOS10 小时前
C++ 工业边缘 Boost.Asio 高级实战
开发语言·c++·边缘计算·工业网关
小小龙学IT10 小时前
C++ std::chrono 时间库深度解析:从 duration 模板到 C++20 日历与时区
linux·c++·c++20
清水白石00810 小时前
Python dataclass 高级避坑指南:从 default_factory、frozen、slots 到哈希灾难
windows·python·哈希算法
kaixin_啊啊10 小时前
Windows版ChatGPT启动失败Unable-to-locate-Codex-CLI-binary解决方法
windows·chatgpt
零号栈帧10 小时前
Codex 手机控制台——AgentDeck
windows·cloudflare·codex·pwa·ai agent