【Duilib】 List控件支持多选和获取选择的多条数据

news/2025/1/11 8:33:57/

问题
使用Duilib库写的一个UI页面用到了List控件,功能变动想支持选择多行数据。

分析
1、List控件本身支持使用SetMultiSelect接口设置是否多选:

void SetMultiSelect(bool bMultiSel);

2、List控件本身支持使用GetNextSelItem接口获取选中的下一个索引项:

int GetNextSelItem(int nItem) const;

解决

// ...
// 初始化控件时设置支持多选
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);
}

http://www.ppmy.cn/news/1562198.html

相关文章

mysql和redis的最大连接数

平时我们要评估mysql和redis的最大连接数&#xff0c;可以选择好环境&#xff08;比如4核8G&#xff09;,定好压测方法&#xff08;没有索引的mysql单表&#xff0c;redis单key&#xff09;进行压测&#xff0c;评估其最大并发量。 也可以查看各大云厂商的规格进行评估。 mys…

Postman配置环境变量

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Postman是一套比较方便的接口测试工具&#xff0c;但我们在使用过程中&#xff0c;可能会出现创建了API请求&#xff0c;但API的URL会随着服务器IP地址的变化而改…

vue.js 插槽-具名插槽

在Vue.js中&#xff0c;插槽是一种特殊的语法&#xff0c;用于在父组件中向子组件传递内容。通过插槽&#xff0c;我们可以在子组件的特定位置插入父组件中的内容。 Vue.js中的插槽分为默认插槽和具名插槽。默认插槽是当父组件中的内容没有被具名插槽引用时插入的内容。而具名…

HTML实战课堂之倒计时页面

一、目录&#xff1a; 一、目录&#xff1a; 二、代码说明&#xff1a; 1. **HTML部分**&#xff1a; 2. **CSS部分**&#xff1a; 3. **JavaScript部分**&#xff1a; 三、完整代码&#xff1a; 读前小提示&#xff1a; 要创建一个自定义背景的倒计时网页&#xff0c;这…

为深度学习引入张量

为深度学习引入张量 什么是张量&#xff1f; 神经网络中的输入、输出和转换都是使用张量表示的&#xff0c;因此&#xff0c;神经网络编程大量使用张量。 张量是神经网络使用的主要数据结构。 张量的概念是其他更具体概念的数学概括。让我们看看一些张量的具体实例。 张量…

Redis 安装与 Spring Boot 集成指南

安装 Redis 和将其与 Spring Boot 应用集成是构建高效缓存解决方案的常见步骤。以下是详细的指南&#xff0c;帮助你在本地环境中安装 Redis&#xff0c;并在 Spring Boot 项目中配置和使用它。 1. 安装 Redis Windows 环境 Redis 官方并不直接支持 Windows&#xff0c;但你…

51单片机 和 STM32 在硬件操作上的差异

51单片机 和 STM32 在硬件操作上的差异 1. 时钟系统的差异 STM32 的时钟系统 STM32 的时钟系统非常复杂&#xff0c;支持多种时钟源&#xff08;如内部晶振、外部晶振、PLL 等&#xff09;&#xff0c;并且每个外设&#xff08;如 GPIO、定时器、串口等&#xff09;都有独立的…

Kafka集群安装

Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,是消息中间件的一种,用于构建实时数据管道和流应用程序。 Kafka官网:http://kafka.apache.org/ 安装环境: Kafka集群环境搭建,依赖于zookeep…