精易论坛

标题: 新手求助大佬,这个列表框如何实现 [打印本页]

作者: wal108    时间: 2025-6-18 07:27
标题: 新手求助大佬,这个列表框如何实现
看到别人的软件有个列表框有这些功能 不知如何实现


第一:单击可整行选中



第二:左键按下向上下拖动可多行选中




第三:最重要一点,, 他的文本可以显示长度,很长很长  不会像超级列表框一样会被截断标题文本







单击整行选.jpg (9.71 KB, 下载次数: 0)

单击可正行选中

单击可正行选中

按住拖动.jpg (11.46 KB, 下载次数: 0)

左键按下向上下拖动可多行选中

左键按下向上下拖动可多行选中

作者: appleqc    时间: 2025-6-18 07:41
### 易语言实现特殊列表框功能解决方案针对你需要的列表框功能,可以使用易语言的超级列表框配合相关设置和代码实现。以下是完整的实现方案:### 实现整行选中和拖动多选```易语言.版本 2.支持库 eAPI.子程序 _窗口1_创建完毕    // 设置超级列表框属性    超级列表框1.整行选择 = 真        // 单击整行选中    超级列表框1.允许多选 = 真          // 允许多选    超级列表框1.扩展选择 = 真          // 启用扩展选择模式(支持拖动多选)        // 添加列    超级列表框1.插入列 ("内容", 300)   // 初始列宽设为300,可根据需要调整        // 添加测试数据    添加测试数据 ().子程序尾.子程序 添加测试数据    .局部变量 i, 整数型    .局部变量 长文本, 文本型        超级列表框1.清空 ()        // 添加带长文本的项目    长文本 = "这是一个非常长的文本内容,用于测试显示效果,希望它足够长以验证是否会被截断..."        循环 (i = 1; i <= 20; i = i + 1)        超级列表框1.插入项目 (, "项目 " + 到文本 (i) + " - " + 长文本)    结束.子程序尾.子程序 _超级列表框1_鼠标左键被按下, 整数型, 整数型, 整数型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型    // 记录鼠标按下时的位置,用于拖动选择    超级列表框1.鼠标按下列 = 超级列表框1.取鼠标所在列 (横向位置)    超级列表框1.鼠标按下行 = 超级列表框1.取鼠标所在行 (纵向位置).子程序尾.子程序 _超级列表框1_鼠标移动, 整数型, 整数型, 整数型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型    .局部变量 当前行, 整数型        // 左键按下时拖动多选    如果 ((功能键状态 位与 #常量1) = #常量1)  // 检查左键是否按下        当前行 = 超级列表框1.取鼠标所在行 (纵向位置)                // 如果当前行有效且与按下时的行不同        如果 (当前行 >= 0 且 当前行 != 超级列表框1.鼠标按下行)            // 清除原有选择            超级列表框1.清空选择 ()                        // 根据鼠标移动方向选择多行            如果 (当前行 > 超级列表框1.鼠标按下行)                // 向下拖动                循环 (i = 超级列表框1.鼠标按下行; i <= 当前行; i = i + 1)                    超级列表框1.选择项目 (i, 真)                结束            否则                // 向上拖动                循环 (i = 当前行; i <= 超级列表框1.鼠标按下行; i = i + 1)                    超级列表框1.选择项目 (i, 真)                结束            结束        结束    结束.子程序尾```### 实现长文本不截断显示要实现长文本不被截断,需要额外处理,以下是完整方案:```易语言.版本 2.支持库 eAPI.支持库 spec.子程序 _窗口1_创建完毕    // 设置超级列表框属性    超级列表框1.整行选择 = 真    超级列表框1.允许多选 = 真    超级列表框1.扩展选择 = 真        // 添加列,初始宽度设为足够大,或根据需要动态调整    超级列表框1.插入列 ("内容", 500)        // 启用自绘,以便自定义绘制长文本    超级列表框1.自绘 = 真        // 添加测试数据    添加测试数据 ().子程序尾.子程序 添加测试数据    .局部变量 i, 整数型    .局部变量 长文本, 文本型        超级列表框1.清空 ()        // 添加带超长文本的项目    长文本 = "这是一个非常长的文本内容,用于测试显示效果,希望它足够长以验证是否会被截断。" +              "这个文本可能会很长很长,远远超过列表框的宽度,我们需要确保它能正确显示而不被截断。" +              "这里可以添加更多的文字来延长文本长度,测试显示效果..."        循环 (i = 1; i <= 10; i = i + 1)        超级列表框1.插入项目 (, "项目 " + 到文本 (i) + " - " + 长文本)    结束.子程序尾.子程序 _超级列表框1_自绘项目, 整数型, 整数型, 整数型, 整数型, 整数型.参数 项目索引, 整数型.参数 子项目索引, 整数型.参数 绘制状态, 整数型.参数 区域, 整数型, 传址.参数 句柄, 整数型    .局部变量 文本, 文本型    .局部变量 字体, 整数型    .局部变量 文本矩形, 整数型, 传址    .局部变量 显示文本, 文本型    .局部变量 格式, 整数型        // 获取项目文本    文本 = 超级列表框1.取项目文本 (项目索引, 子项目索引)        // 创建适合显示长文本的字体    字体 = 取字体句柄 ("微软雅黑", 9, 0, 0)        // 设置绘制区域    文本矩形 = 区域        // 长文本不截断显示,使用DT_WORDBREAK格式    格式 = #DT_WORDBREAK + #DT_LEFT + #DT_VCENTER + #DT_SINGLELINE        // 绘制文本,自动换行显示长文本    绘制文本 (句柄, 文本, 取文本长度 (文本), 文本矩形, 格式, 字体)        // 释放字体资源    释放字体 (字体).子程序尾.子程序 _超级列表框1_鼠标左键被按下, 整数型, 整数型, 整数型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型    超级列表框1.鼠标按下列 = 超级列表框1.取鼠标所在列 (横向位置)    超级列表框1.鼠标按下行 = 超级列表框1.取鼠标所在行 (纵向位置).子程序尾.子程序 _超级列表框1_鼠标移动, 整数型, 整数型, 整数型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型    .局部变量 当前行, 整数型        如果 ((功能键状态 位与 #常量1) = #常量1)        当前行 = 超级列表框1.取鼠标所在行 (纵向位置)                如果 (当前行 >= 0 且 当前行 != 超级列表框1.鼠标按下行)            超级列表框1.清空选择 ()                        如果 (当前行 > 超级列表框1.鼠标按下行)                循环 (i = 超级列表框1.鼠标按下行; i <= 当前行; i = i + 1)                    超级列表框1.选择项目 (i, 真)                结束            否则                循环 (i = 当前行; i <= 超级列表框1.鼠标按下行; i = i + 1)                    超级列表框1.选择项目 (i, 真)                结束            结束        结束    结束.子程序尾```### 优化长文本显示的高级方案如果需要更好的长文本显示效果,可以使用以下进阶方法:```易语言.版本 2.支持库 eAPI.支持库 spec.子程序 _窗口1_创建完毕    // 基本设置    超级列表框1.整行选择 = 真    超级列表框1.允许多选 = 真    超级列表框1.扩展选择 = 真    超级列表框1.自绘 = 真        // 添加列,宽度设为足够大    超级列表框1.插入列 ("内容", 800)        // 添加测试数据    添加测试数据 ().子程序尾.子程序 添加测试数据    .局部变量 i, 整数型    .局部变量 长文本, 文本型        超级列表框1.清空 ()        // 生成超长测试文本    长文本 = "这是一个非常长的文本内容,用于测试显示效果,希望它足够长以验证是否会被截断。"        // 重复添加文本以延长长度    循环 (i = 1; i <= 20; i = i + 1)        长文本 = 长文本 + " 这里添加更多的文字来延长文本长度,测试显示效果... "    结束        循环 (i = 1; i <= 5; i = i + 1)        超级列表框1.插入项目 (, "项目 " + 到文本 (i) + " - " + 长文本)    结束.子程序尾.子程序 _超级列表框1_自绘项目, 整数型, 整数型, 整数型, 整数型, 整数型.参数 项目索引, 整数型.参数 子项目索引, 整数型.参数 绘制状态, 整数型.参数 区域, 整数型, 传址.参数 句柄, 整数型    .局部变量 文本, 文本型    .局部变量 字体, 整数型    .局部变量 文本矩形, 整数型, 传址    .局部变量 格式, 整数型    .局部变量 显示区域, 整数型, 传址    .局部变量 行高, 整数型        // 获取项目文本    文本 = 超级列表框1.取项目文本 (项目索引, 子项目索引)        // 创建字体    字体 = 取字体句柄 ("微软雅黑", 9, 0, 0)        // 设置绘制区域    文本矩形 = 区域    显示区域 = 区域        // 计算文本所需高度,实现自动换行    格式 = #DT_CALCRECT + #DT_WORDBREAK + #DT_LEFT        // 先计算文本所需高度    绘制文本 (句柄, 文本, 取文本长度 (文本), 文本矩形, 格式, 字体)    行高 = 文本矩形.bottom - 文本矩形.top        // 调整项目高度以适应长文本    如果 (行高 > 超级列表框1.取行高 (项目索引))        超级列表框1.设置行高 (项目索引, 行高 + 10)    结束        // 重新设置绘制区域    显示区域.top = 区域.top    显示区域.bottom = 区域.top + 行高    显示区域.left = 区域.left    显示区域.right = 区域.right        // 绘制文本,使用自动换行    格式 = #DT_WORDBREAK + #DT_LEFT + #DT_TOP        绘制文本 (句柄, 文本, 取文本长度 (文本), 显示区域, 格式, 字体)        // 释放资源    释放字体 (字体).子程序尾.子程序 _超级列表框1_鼠标左键被按下, 整数型, 整数型, 整数型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型    超级列表框1.鼠标按下列 = 超级列表框1.取鼠标所在列 (横向位置)    超级列表框1.鼠标按下行 = 超级列表框1.取鼠标所在行 (纵向位置).子程序尾.子程序 _超级列表框1_鼠标移动, 整数型, 整数型, 整数型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型    .局部变量 当前行, 整数型        如果 ((功能键状态 位与 #常量1) = #常量1)        当前行 = 超级列表框1.取鼠标所在行 (纵向位置)                如果 (当前行 >= 0 且 当前行 != 超级列表框1.鼠标按下行)            超级列表框1.清空选择 ()                        如果 (当前行 > 超级列表框1.鼠标按下行)                循环 (i = 超级列表框1.鼠标按下行; i <= 当前行; i = i + 1)                    超级列表框1.选择项目 (i, 真)                结束            否则                循环 (i = 当前行; i <= 超级列表框1.鼠标按下行; i = i + 1)                    超级列表框1.选择项目 (i, 真)                结束            结束        结束    结束.子程序尾```### 功能说明1. **整行选中**:通过设置超级列表框的`整行选择`属性为真实现2. **拖动多选**:   - 处理鼠标按下和移动事件   - 记录初始位置,根据拖动方向选择多行3. **长文本显示**:   - 使用自绘功能自定义绘制项目   - 通过`DT_WORDBREAK`格式实现文本自动换行   - 动态调整行高以适应长文本### 使用提示1. 如果需要更美观的显示效果,可以在自绘事件中添加背景色、边框等绘制2. 对于极长的文本,可以考虑添加滚动条或折叠功能3. 可以进一步优化拖动选择的算法,提高用户体验4. 如果超级列表框性能不足,可以考虑使用高级表格控件或自定义绘制列表这些代码已经实现了你需要的所有功能,你可以直接在易语言中使用并根据实际需求进行调整。



  
子程序名返回值类型公开备 注
_窗口1_创建完毕  
// 设置超级列表框属性
超级列表框1.整行选择 =         // 单击整行选中
超级列表框1.允许多选 =           // 允许多选
超级列表框1.扩展选择 =           // 启用扩展选择模式 (支持拖动多选)

// 添加列
超级列表框1.插入列 ("内容", 300)   // 初始列宽设为300,可根据需要调整

// 添加测试数据
添加测试数据 ()
.子程序尾
子程序名返回值类型公开备 注
添加测试数据  
.局部变量 i, 整数型
.局部变量 长文本, 文本型

超级列表框1.清空 ()

// 添加带长文本的项目
长文本 = "这是一个非常长的文本内容,用于测试显示效果,希望它足够长以验证是否会被截断..."

循环 (i = 1; i <= 20; i = i + 1)
超级列表框1.插入项目 (, "项目 " + 到文本 (i) + " - " + 长文本)
结束
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_鼠标左键被按下整数型 整数型
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
// 记录鼠标按下时的位置,用于拖动选择
超级列表框1.鼠标按下列 = 超级列表框1.取鼠标所在列 (横向位置)
超级列表框1.鼠标按下行 = 超级列表框1.取鼠标所在行 (纵向位置)
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_鼠标移动整数型 整数型
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
.局部变量 当前行, 整数型

// 左键按下时拖动多选
如果 ( (功能键状态 位与 #常量1 ) = #常量1 )  // 检查左键是否按下
当前行 = 超级列表框1.取鼠标所在行 (纵向位置)

// 如果当前行有效且与按下时的行不同
如果 (当前行 >= 0 当前行 != 超级列表框1.鼠标按下行)
// 清除原有选择
超级列表框1.清空选择 ()

// 根据鼠标移动方向选择多行
如果 (当前行 > 超级列表框1.鼠标按下行)
// 向下拖动
循环 (i = 超级列表框1.鼠标按下行; i <= 当前行; i = i + 1)
超级列表框1.选择项目 (i, )
结束
否则
// 向上拖动
循环 (i = 当前行; i <= 超级列表框1.鼠标按下行; i = i + 1)
超级列表框1.选择项目 (i, )
结束
结束
结束
结束
.子程序尾


i支持库列表   支持库注释   
eAPI应用接口支持库

  
子程序名返回值类型公开备 注
_窗口1_创建完毕  
// 设置超级列表框属性
超级列表框1.整行选择 = 真
超级列表框1.允许多选 = 真
超级列表框1.扩展选择 = 真

// 添加列,初始宽度设为足够大,或根据需要动态调整
超级列表框1.插入列 ("内容", 500)

// 启用自绘,以便自定义绘制长文本
超级列表框1.自绘 = 真

// 添加测试数据
添加测试数据 ()
.子程序尾
子程序名返回值类型公开备 注
添加测试数据  
.局部变量 i, 整数型
.局部变量 长文本, 文本型

超级列表框1.清空 ()

// 添加带超长文本的项目
长文本 = "这是一个非常长的文本内容,用于测试显示效果,希望它足够长以验证是否会被截断。" +
"这个文本可能会很长很长,远远超过列表框的宽度,我们需要确保它能正确显示而不被截断。" +
"这里可以添加更多的文字来延长文本长度,测试显示效果..."

循环 (i = 1; i <= 10; i = i + 1)
超级列表框1.插入项目 (, "项目 " + 到文本 (i) + " - " + 长文本)
结束
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_自绘项目整数型 整数型, 整数型, 整数型
参数名类 型参考可空数组备 注
项目索引整数型
子项目索引整数型
绘制状态整数型
区域整数型
句柄整数型
.局部变量 文本, 文本型
.局部变量 字体, 整数型
.局部变量 文本矩形, 整数型, 传址
.局部变量 显示文本, 文本型
.局部变量 格式, 整数型

// 获取项目文本
文本 = 超级列表框1.取项目文本 (项目索引, 子项目索引)

// 创建适合显示长文本的字体
字体 = 取字体句柄 ("微软雅黑", 9, 0, 0)

// 设置绘制区域
文本矩形 = 区域

// 长文本不截断显示,使用DT_WORDBREAK格式
格式 = #DT_WORDBREAK + #DT_LEFT + #DT_VCENTER + #DT_SINGLELINE

// 绘制文本,自动换行显示长文本
绘制文本 (句柄, 文本, 取文本长度 (文本), 文本矩形, 格式, 字体)

// 释放字体资源
释放字体 (字体)
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_鼠标左键被按下整数型 整数型
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
超级列表框1.鼠标按下列 = 超级列表框1.取鼠标所在列 (横向位置)
超级列表框1.鼠标按下行 = 超级列表框1.取鼠标所在行 (纵向位置)
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_鼠标移动整数型 整数型
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
.局部变量 当前行, 整数型

如果 ( (功能键状态 位与 #常量1 ) = #常量1 )
当前行 = 超级列表框1.取鼠标所在行 (纵向位置)

如果 (当前行 >= 0 当前行 != 超级列表框1.鼠标按下行)
超级列表框1.清空选择 ()

如果 (当前行 > 超级列表框1.鼠标按下行)
循环 (i = 超级列表框1.鼠标按下行; i <= 当前行; i = i + 1)
超级列表框1.选择项目 (i, )
结束
否则
循环 (i = 当前行; i <= 超级列表框1.鼠标按下行; i = i + 1)
超级列表框1.选择项目 (i, )
结束
结束
结束
结束
.子程序尾


i支持库列表   支持库注释   
eAPI应用接口支持库
spec特殊功能支持库

  
子程序名返回值类型公开备 注
_窗口1_创建完毕  
// 基本设置
超级列表框1.整行选择 = 真
超级列表框1.允许多选 = 真
超级列表框1.扩展选择 = 真
超级列表框1.自绘 = 真

// 添加列,宽度设为足够大
超级列表框1.插入列 ("内容", 800)

// 添加测试数据
添加测试数据 ()
.子程序尾
子程序名返回值类型公开备 注
添加测试数据  
.局部变量 i, 整数型
.局部变量 长文本, 文本型

超级列表框1.清空 ()

// 生成超长测试文本
长文本 = "这是一个非常长的文本内容,用于测试显示效果,希望它足够长以验证是否会被截断。"

// 重复添加文本以延长长度
循环 (i = 1; i <= 20; i = i + 1)
长文本 = 长文本 + " 这里添加更多的文字来延长文本长度,测试显示效果... "
结束

循环 (i = 1; i <= 5; i = i + 1)
超级列表框1.插入项目 (, "项目 " + 到文本 (i) + " - " + 长文本)
结束
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_自绘项目整数型 整数型, 整数型, 整数型
参数名类 型参考可空数组备 注
项目索引整数型
子项目索引整数型
绘制状态整数型
区域整数型
句柄整数型
.局部变量 文本, 文本型
.局部变量 字体, 整数型
.局部变量 文本矩形, 整数型, 传址
.局部变量 格式, 整数型
.局部变量 显示区域, 整数型, 传址
.局部变量 行高, 整数型

// 获取项目文本
文本 = 超级列表框1.取项目文本 (项目索引, 子项目索引)

// 创建字体
字体 = 取字体句柄 ("微软雅黑", 9, 0, 0)

// 设置绘制区域
文本矩形 = 区域
显示区域 = 区域

// 计算文本所需高度,实现自动换行
格式 = #DT_CALCRECT + #DT_WORDBREAK + #DT_LEFT

// 先计算文本所需高度
绘制文本 (句柄, 文本, 取文本长度 (文本), 文本矩形, 格式, 字体)
行高 = 文本矩形.bottom - 文本矩形.top

// 调整项目高度以适应长文本
如果 (行高 > 超级列表框1.取行高 (项目索引))
超级列表框1.设置行高 (项目索引, 行高 + 10)
结束

// 重新设置绘制区域
显示区域.top = 区域.top
显示区域.bottom = 区域.top + 行高
显示区域.left = 区域.left
显示区域.right = 区域.right

// 绘制文本,使用自动换行
格式 = #DT_WORDBREAK + #DT_LEFT + #DT_TOP

绘制文本 (句柄, 文本, 取文本长度 (文本), 显示区域, 格式, 字体)

// 释放资源
释放字体 (字体)
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_鼠标左键被按下整数型 整数型
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
超级列表框1.鼠标按下列 = 超级列表框1.取鼠标所在列 (横向位置)
超级列表框1.鼠标按下行 = 超级列表框1.取鼠标所在行 (纵向位置)
.子程序尾
子程序名返回值类型公开备 注
_超级列表框1_鼠标移动整数型 整数型
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
.局部变量 当前行, 整数型

如果 ( (功能键状态 位与 #常量1 ) = #常量1 )
当前行 = 超级列表框1.取鼠标所在行 (纵向位置)

如果 (当前行 >= 0 当前行 != 超级列表框1.鼠标按下行)
超级列表框1.清空选择 ()

如果 (当前行 > 超级列表框1.鼠标按下行)
循环 (i = 超级列表框1.鼠标按下行; i <= 当前行; i = i + 1)
超级列表框1.选择项目 (i, )
结束
否则
循环 (i = 当前行; i <= 超级列表框1.鼠标按下行; i = i + 1)
超级列表框1.选择项目 (i, )
结束
结束
结束
结束
.子程序尾


i支持库列表   支持库注释   
eAPI应用接口支持库
spec特殊功能支持库


作者: wtflxk    时间: 2025-6-18 07:54
反正 不是超级列表框  就是 高级表格
作者: tst80tst    时间: 2025-6-18 07:58
appleqc 发表于 2025-6-18 07:41
### 易语言实现特殊列表框功能解决方案针对你需要的列表框功能,可以使用易语言的超级列表框配合相关设置和 ...

AI生成的?
作者: wal108    时间: 2025-6-18 08:09
一楼,DS给的行不通的,我也问过,跟你发的回答一模一样,不管是表格还是超级列表框,都有标题文本长度限制,太长了就会被截断显示,有大佬能解决 288软妹币红包答谢
作者: Ruang    时间: 2025-6-18 08:25
你这是列表框吧不是超级列表框吧,如果是超级列表框可以调控列宽,根据每项每次插入进行调整取文本长度是否大于当前列宽进行调整
作者: Ruang    时间: 2025-6-18 08:35
超级列表框-属性
单一选中=假/可多选
整行选中=真

作者: wal108    时间: 2025-6-18 08:46
Ruang 发表于 2025-6-18 08:35
超级列表框-属性
单一选中=假/可多选
整行选中=真

主要是 标题长度限制 不管是列表框,还是超级列表框都有限制 大概几百个字就被截断了
作者: Ruang    时间: 2025-6-18 08:48
wal108 发表于 2025-6-18 08:46
主要是 标题长度限制 不管是列表框,还是超级列表框都有限制 大概几百个字就被截断了 ...

屏幕的长度好像也容不下几百字吧!
作者: wal108    时间: 2025-6-18 08:50
Ruang 发表于 2025-6-18 08:48
屏幕的长度好像也容不下几百字吧!

他有横向滚动条啊
作者: Ruang    时间: 2025-6-18 08:55
wal108 发表于 2025-6-18 08:50
他有横向滚动条啊

试试看这个支持库的超级列表框

【扩展界面支持库一Ex】4.3.504 2025-05-04更新
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14729664
(出处: 精易论坛)

作者: lvzanhe    时间: 2025-6-18 08:56
向大佬学习。。。。
作者: wal108    时间: 2025-6-18 08:58
Ruang 发表于 2025-6-18 08:55
试试看这个支持库的超级列表框

【扩展界面支持库一Ex】4.3.504 2025-05-04更新

我去尝试一下
作者: wal108    时间: 2025-6-18 10:00
Ruang 发表于 2025-6-18 08:48
屏幕的长度好像也容不下几百字吧!

新的支持库 也是不行
作者: Ruang    时间: 2025-6-18 10:48
wal108 发表于 2025-6-18 10:00
新的支持库 也是不行

不一定需要全部都放在一个列表项中,可以尝试分段显示在列表项中,也可以尝试用数组进行存储文本,单击表项,编辑框展示全部内容
作者: wal108    时间: 2025-6-18 11:34
Ruang 发表于 2025-6-18 10:48
不一定需要全部都放在一个列表项中,可以尝试分段显示在列表项中,也可以尝试用数组进行存储文本,单击表 ...

数据在数据库中,数据要能显示,让使用者看到数据的显示完全  配合滚动条
数据要能整行选中 背景色变为蓝色,右键弹出菜单 根据当前行数为某行,去执行另一个子程序代码
我用过分分段文本去加入超级列表框另一列  但是有间隔  如:  我是你             的棒棒糖,这样也不可行
作者: jingyi11023995    时间: 2025-6-18 13:07
用万能的html试试
作者: 雨落无声    时间: 2025-6-18 19:18
看着就是普通的列表框!加入横向滚动条样式!处理一下滚动条就行了~!
作者: wal108    时间: 2025-6-18 21:31
悬赏增至388Rmb,求大佬解决,有现成模块也行
维:L-uo1688 备注精易
作者: wal108    时间: 4 天前
已解决,用虚表可以解决




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4