【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);
}
相关推荐
旖-旎7 分钟前
深搜练习(组合)(5)
c++·算法·深度优先·力扣
vegetablesssss8 分钟前
vtk镜像图
c++·qt·vtk
@小码农24 分钟前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
专注VB编程开发20年42 分钟前
Windows API 所有老式结构体4字节对齐,但是64位VBA,Twinbasic弄成了8字节对齐,大BUG
windows·bug
【 】4231 小时前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
东篱把酒黄昏1 小时前
wsl和Windows混合开发高级配置详细指导
windows
一只牛_0071 小时前
pthread亲和性继承的一个坑:main绑核让整个进程退化到单核
c++
张健11564096482 小时前
C++访问控制与友元
java·开发语言·c++
helloliyh2 小时前
windows设置定时任务开机执行bat或exe文件
windows
清水白石0082 小时前
从“类型体操”到工程设计:用 Python 解释协变、逆变与不变
网络·windows·python