开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3887|回复: 30
收起左侧

[易语言纯源码] 外部超级列表框-置单元格颜色

[复制链接]
发表于 2022-8-20 23:31:08 | 显示全部楼层 |阅读模式   重庆市重庆市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
本帖最后由 cnfull 于 2022-8-20 23:51 编辑

外部超级列表框-置单元格颜色 模块源码


  
窗口程序集名保 留  保 留备 注
程序集_超表颜色   
变量名类 型数组备 注
m_默认前景色整数型  
m_默认背景色整数型  
m_进入许可证线程许可证  
m_clistHwnd整数型  
m_OrWindowAddress整数型  
m_ColorListColorData0 
m_pHwnd整数型  
m_list外部超级列表框  

子程序名返回值类型公开备 注
超表颜色_初始化 
参数名类 型参考可空数组备 注
pHwnd整数型父窗口句柄,一般为主窗口句柄
cListHwnd整数型
前景色整数型默认:黑色
背景色整数型默认:白色
变量名类 型静态数组备 注
整数型 
整数型 
col整数型 
row整数型 
m_进入许可证 = 线程_创建许可证 ()
如果真 (是否为空 (前景色))
前景色 = #白色
如果真 (是否为空 (背景色))
背景色 = #黑色
m_默认前景色 = 前景色
m_默认背景色 = 背景色
m_clistHwnd = cListHwnd
m_pHwnd = pHwnd
m_list.初始化 (m_clistHwnd, , )
m_OrWindowAddress = SetWindowLong (m_pHwnd, -4, 到整数 (&WndProc))
row = m_list.取表项数 ()
col = m_list.取列数 ()
如果真 (row ≤ 0)
row = 1
如果真 (col ≤ 0)
col = 1
重定义数组 (m_ColorList, 假, row, col)
计次循环首 (取数组下标 (m_ColorList, 1), 行)
计次循环首 (取数组下标 (m_ColorList, 2), 列)
m_ColorList [] [].Color = m_默认前景色
m_ColorList [] [].Backgroud = m_默认背景色
' 调试输出 (行, 列, m_ColorList [] [].Color, m_ColorList [] [].Backgroud)
计次循环尾 ()
计次循环尾 ()
子程序名返回值类型公开备 注
超表颜色_置单元格颜色 
参数名类 型参考可空数组备 注
起始行整数型从0开始
起始列整数型从0开始
终止行整数型
终止列整数型
前景色整数型
背景色整数型
变量名类 型静态数组备 注
x整数型 
整数型 
整数型 
如果真 (是否为空 (前景色) 是否为空 (背景色))
返回 ()
如果真 (起始行 < 0)
起始行 = 0
如果真 (终止行 > 取数组下标 (m_ColorList, 1) - 1)
终止行 = 取数组下标 (m_ColorList, 1) - 1
如果真 (终止行 < 起始行)
x = 起始行
起始行 = 终止行
终止行 = x
如果真 (起始列 < 0)
起始列 = 0
如果真 (终止列 > 取数组下标 (m_ColorList, 2) - 1)
终止列 = 取数组下标 (m_ColorList, 2) - 1
如果真 (终止列 < 起始列)
x = 起始列
起始列 = 终止列
终止列 = x
变量循环首 (起始行 + 1, 终止行 + 1, 1, 行)
变量循环首 (起始列 + 1, 终止列 + 1, 1, 列)
线程_进入许可区 (m_进入许可证)
如果真 (是否为空 (前景色))
m_ColorList [] [].Color = 前景色
如果真 (是否为空 (背景色))
m_ColorList [] [].Backgroud = 背景色
线程_退出许可区 (m_进入许可证)
变量循环尾 ()
变量循环尾 ()
m_list.刷新显示 ()
子程序名返回值类型公开备 注
超表颜色_内存释放 
线程_删除许可证 (m_进入许可证)
SetWindowLong (m_pHwnd, -4, m_OrWindowAddress)  ' 恢复HOOK
子程序名返回值类型公开备 注
超表颜色_删除表项 
参数名类 型参考可空数组备 注
表项索引整数型用于指定列表框中的某一项目,索引值从 0 开始。
m_list.删除表项 (表项索引)
如果真 (m_list.取表项数 () > 0)
颜色数组_删除行 (表项索引 + 1)

子程序名返回值类型公开备 注
超表颜色_全部删除 
m_list.全部删除 ()
线程_进入许可区 (m_进入许可证)
重定义数组 (m_ColorList, 假, 1, 1)
线程_退出许可区 (m_进入许可证)
子程序名返回值类型公开备 注
超表颜色_删除列 删除报表型列表框中指定位置处的列。
参数名类 型参考可空数组备 注
列索引整数型用作指定报表型列表框中项目所处的列,索引值从 0 开始。
m_list.删除列 (列索引)
如果真 (m_list.取列数 () > 0)
颜色数组_删除列 (列索引 + 1)

子程序名返回值类型公开备 注
超表颜色_插入表项整数型 
参数名类 型参考可空数组备 注
插入位置整数型可以被省略。指定新表项插入时的位置索引,索引值从 0 开始。如果提供 -1 ,则插入到列表框的尾部。如果本参数被省略,默认值为 -1 。
标题文本型可以被省略。本参数指定表项的标题文本。如果被省略,默认值为空文本。
图片索引整数型可以被省略。图片索引用于指定“图片组”属性中的某张图片。索引值从 0 开始,-1 表示无图片。如果本参数被省略,默认值为 -1 。
状态图片索引整数型可以被省略。状态图片索引用于指定“状态图片组”属性中的某张图片。索引值从 0 开始,-1 表示无图片。如果本参数被省略,默认值为 -1 。
缩进数目整数型可以被省略。“缩进数目”仅在报表型列表框才有效,用作指定显示时在表项首部增加的空白数。如果本参数被省略,默认值为 0 。
表项数值整数型可以被省略。该数值与指定表项相关联。如果本参数被省略,默认值为 0 。
变量名类 型静态数组备 注
返回值整数型 
整数型 
整数型 
如果真 (是否为空 (插入位置))
插入位置 = -1

返回值 = m_list.插入表项 (插入位置, 标题, 图片索引, 状态图片索引, 缩进数目, 表项数值)
如果真 (m_list.取表项数 () > 1)
如果 (是否为空 (插入位置) 插入位置 < 0)
颜色数组_添加行 ()
颜色数组_插入行 (插入位置)

返回 (返回值)
子程序名返回值类型公开备 注
超表颜色_插入列整数型 在报表型列表框中指定位置插入新的列,成功返回新列的位置索引,失败返回 -1 。
参数名类 型参考可空数组备 注
插入位置整数型可以被省略。指定新列插入时的位置索引,索引值从 0 开始。如果提供 -1 ,则插入到尾部。如果本参数被省略,默认值为 -1 。
标题文本型可以被省略。本参数指定报表列的标题文本。如果被省略,默认值为空文本。
列宽整数型可以被省略。本参数指定报表列的宽度,单位为像素。如果被省略,默认值为 50 。
对齐方式整数型可以被省略。参数可以为以下常量之一: 0:0; 1:1; 2:2。如果本参数被省略,默认值为“0”。
图片索引整数型可以被省略。图片索引用于指定“表头图片组”属性中的某张图片。索引值从 0 开始,-1 表示无图片。如果本参数被省略,默认值为 -1 。
图片是否居右逻辑型可以被省略。指定图片是否显示在右边,如果本参数被省略,默认值为假。
变量名类 型静态数组备 注
返回值整数型 
返回值 = m_list.插入列 (插入位置, 标题, 列宽, 对齐方式, 图片索引, 图片是否居右)
如果真 (m_list.取列数 () > 1)
如果 (是否为空 (插入位置) 插入位置 < 0)
颜色数组_添加列 ()
颜色数组_插入列 (插入位置)

返回 (返回值)
子程序名返回值类型公开备 注
颜色数组_插入行  
参数名类 型参考可空数组备 注
插入位置整数型行下标,从1开始
变量名类 型静态数组备 注
newRows整数型 
i整数型 
NewColorListColorData0
j整数型 
a整数型 
是否顺序逻辑型 
如果真 (取反 (插入位置 ≥ 1 插入位置 ≤ 取数组下标 (m_ColorList, 1)))
返回 ()
newRows = 取数组下标 (m_ColorList, 1) + 1
重定义数组 (NewColorList, 假, newRows, 取数组下标 (m_ColorList, 2))
计次循环首 (取数组下标 (m_ColorList, 1), i)
如果 (i = 插入位置)
计次循环首 (取数组下标 (m_ColorList, 2), j)
NewColorList [i] [j].Color = m_默认前景色
NewColorList [i] [j].Backgroud = m_默认背景色
计次循环尾 ()
计次循环首 (取数组下标 (m_ColorList, 2), j)
NewColorList [i] [j].Color = m_ColorList [i] [j].Color
NewColorList [i] [j].Backgroud = m_ColorList [i] [j].Backgroud
计次循环尾 ()

计次循环尾 ()
线程_进入许可区 (m_进入许可证)
重定义数组 (m_ColorList, 假, 取数组下标 (NewColorList, 1), 取数组下标 (NewColorList, 2))
计次循环首 (取数组下标 (NewColorList, 1), i)
计次循环首 (取数组下标 (NewColorList, 2), j)
m_ColorList [i] [j].Color = NewColorList [i] [j].Color
m_ColorList [i] [j].Backgroud = NewColorList [i] [j].Backgroud
计次循环尾 ()
计次循环尾 ()
线程_退出许可区 (m_进入许可证)
子程序名返回值类型公开备 注
颜色数组_插入列  
参数名类 型参考可空数组备 注
插入位置整数型列下标,从1开始
变量名类 型静态数组备 注
newCols整数型 
i整数型 
NewColorListColorData0
j整数型 
a整数型 
是否顺序逻辑型 
如果真 (取反 (插入位置 ≥ 1 插入位置 ≤ 取数组下标 (m_ColorList, 2)))
返回 ()
newCols = 取数组下标 (m_ColorList, 2) + 1
重定义数组 (NewColorList, 假, 取数组下标 (m_ColorList, 1), newCols)
计次循环首 (取数组下标 (NewColorList, 2), j)
如果 (j = 插入位置)
计次循环首 (取数组下标 (NewColorList, 1), i)
NewColorList [i] [j].Color = m_默认前景色
NewColorList [i] [j].Backgroud = m_默认背景色
计次循环尾 ()
计次循环首 (取数组下标 (NewColorList, 1), i)
NewColorList [i] [j].Color = m_ColorList [i] [j - 1].Color
NewColorList [i] [j].Backgroud = m_ColorList [i] [j - 1].Backgroud
计次循环尾 ()

计次循环尾 ()
线程_进入许可区 (m_进入许可证)
重定义数组 (m_ColorList, 假, 取数组下标 (NewColorList, 1), 取数组下标 (NewColorList, 2))
计次循环首 (取数组下标 (NewColorList, 1), i)
计次循环首 (取数组下标 (NewColorList, 2), j)
m_ColorList [i] [j].Color = NewColorList [i] [j].Color
m_ColorList [i] [j].Backgroud = NewColorList [i] [j].Backgroud
计次循环尾 ()
计次循环尾 ()
线程_退出许可区 (m_进入许可证)
子程序名返回值类型公开备 注
颜色数组_添加行  
变量名类 型静态数组备 注
newRows整数型 
Col整数型 
newRows = 取数组下标 (m_ColorList, 1) + 1
线程_进入许可区 (m_进入许可证)
重定义数组 (m_ColorList, 真, newRows, 取数组下标 (m_ColorList, 2))
计次循环首 (取数组下标 (m_ColorList, 2), Col)
m_ColorList [newRows] [Col].Color = m_默认前景色
m_ColorList [newRows] [Col].Backgroud = m_默认背景色
计次循环尾 ()
线程_退出许可区 (m_进入许可证)
子程序名返回值类型公开备 注
颜色数组_添加列  
变量名类 型静态数组备 注
newCols整数型 
row整数型 
newCols = 取数组下标 (m_ColorList, 2) + 1
线程_进入许可区 (m_进入许可证)
重定义数组 (m_ColorList, 真, 取数组下标 (m_ColorList, 1), newCols)
计次循环首 (取数组下标 (m_ColorList, 1), row)
m_ColorList [row] [newCols].Color = m_默认



本模块调用了    精易模块的     外部超级列表框类

使用细节:增删行列的操作 请调用  超表颜色_***** 不然颜色会错乱或不生效 。。。
实际上   超表颜色_增、删、插入 等均是调用的精易模块,具体实现方法很简单,
就是在有增删的情况下,要对颜色的二维数组进行操作。
所以。。这个必须调用,请看源码。。。。

修改:如果用到线程循环中,遇到闪烁的情况,可以把:超表颜色_置单元格颜色()下的:
    m_list.刷新显示 ()   注释掉

如果:界面不刷新,自己处理刷新逻辑。就可以了。
超表颜色修改.e (1021.57 KB, 下载次数: 110)

评分

参与人数 1好评 +1 精币 +5 收起 理由
易语言资源网 + 1 + 5 开源精神必须支持~

查看全部评分


本帖被以下淘专辑推荐:

发表于 2024-4-11 14:29:56 | 显示全部楼层   江苏省苏州市
学习学习。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 7 天

发表于 2023-6-26 17:34:36 | 显示全部楼层   福建省漳州市
谢谢楼主…………
回复 支持 反对

使用道具 举报

发表于 2023-1-23 18:51:51 | 显示全部楼层   贵州省毕节市
回复 支持 反对

使用道具 举报

发表于 2022-12-12 23:17:50 | 显示全部楼层   广东省潮州市
好用吗?
回复 支持 反对

使用道具 举报

发表于 2022-11-22 22:12:49 | 显示全部楼层   江西省南昌市

感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 3 天

发表于 2022-10-31 00:32:51 | 显示全部楼层   山东省潍坊市
666这个好
回复 支持 反对

使用道具 举报

签到天数: 8 天

发表于 2022-10-26 01:16:29 | 显示全部楼层   辽宁省营口市
666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2022-10-2 14:54:17 | 显示全部楼层   新疆维吾尔自治区伊犁哈萨克自治州
学习学习
回复 支持 反对

使用道具 举报

结帖率:82% (32/39)

签到天数: 1 天

发表于 2022-9-20 00:20:48 | 显示全部楼层   江苏省苏州市
正需要,感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 15 天

发表于 2022-9-6 17:01:35 | 显示全部楼层   广东省佛山市
        开源精神必须支持~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表