|
|

8精币
最近在学编一个数独工具,用的高级表格3#4版,想法是把光标所在行列高亮显示,单独把光标所在那一格显示为另一种颜色,代码写好了,可是问题也出现了,同样的代码,怎么样也实现不了,可是把关键部分复制出来一个新建的文档就没问题,功能很好。请教大家是什么原因?
可能说得不是很明白,我把代码贴出来如下:分隔线内是关键代码,把它复制出来新一个易语言文档单独用没有问题,但是在我做好的文档里就是不行
附件是我目前为止的源文件。
谢谢大家了!
.版本 2
.支持库 eGrid
.子程序 _高级表格1_光标位置改变
.局部变量 数据右, 文本型
.局部变量 数据左, 文本型
.局部变量 i, 整数型
.局部变量 k, 整数型
![]()
高级表格1.置单元格背景颜色 (0, 0, 8, 8, #白色)
高级表格1.置单元格背景颜色 (0, 高级表格1.取光标列号 (), 8, 高级表格1.取光标列号 (), #嫩绿)
高级表格1.置单元格背景颜色 (高级表格1.取光标行号 (), 0, 高级表格1.取光标行号 (), 8, #嫩绿)
高级表格1.置单元格背景颜色 (高级表格1.取光标行号 (), 高级表格1.取光标列号 (), 高级表格1.取光标行号 (), 高级表格1.取光标列号 (), #芙红)
![]()
高级表格1.置单元格文字颜色 (0, 0, 8, 8, #黑色)
数据左 = 取文本左边 (单元格 [高级表格1.取光标行号 () + 1] [高级表格1.取光标列号 () + 1], 2)
数据右 = 取文本右边 (单元格 [高级表格1.取光标行号 () + 1] [高级表格1.取光标列号 () + 1], 1)
.如果真 (数据左 = “80”)
.计次循环首 (9, i)
.计次循环首 (9, k)
.如果真 (取文本左边 (单元格 [k], 2) = 数据左)
.如果真 (到文本 (高级表格1.取数据 (i - 1, k - 1)) = 数据右)
高级表格1.置单元格文字颜色 (i - 1, k - 1, i - 1, k - 1, #红色)
.如果真结束
.如果真结束
k = k + 1
.计次循环尾 ()
i = i + 1
.计次循环尾 ()
.如果真结束
补充内容 (2026-5-14 10:06):
问题是单独把光标所在那一格显示为另一种颜色这一点异常,其它都是正常的。
补充内容 (2026-5-14 10:09):
点另一格的时候,也就是光标再次改变,原来光标所在的格会短暂显示正常的颜色,一闪而过。新开的文档没有这个问题。 |
-
-
数独.e
295.38 KB, 下载次数: 7
最佳答案
查看完整内容
什么代码也不用改,这里改成假就行
是这效果吧
补充内容 (2026-5-14 11:05):
代码没有问题,因为你新建的时候,加入高级表格时,这里默认就是假
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|