• 欢迎访问爱玩吧
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏爱玩吧

【易语言】易语言源码高级表格自动调整列宽-字体大小换算方法

实用教程 aiwanyule 9年前 (2016-05-11) 已收录

[易语言源码]高级表格自动调整列宽-字体大小换算方法

高级表格自动调整列宽-字体大小换算方法本站下载地址:点击下载

解压密码:www.aiwanba.net

不知道有没有人发过这个方法,我百度老半天找到两个自动调列宽的帖子,但是都实际应用起来表现不太好呀。
而且那两个帖子年代久远到有将近10年之久。。。。05年的帖子。
【易语言】易语言源码高级表格自动调整列宽-字体大小换算方法
【易语言】易语言源码高级表格自动调整列宽-字体大小换算方法
然后就没有找到什么好的自动调列宽方法了。因为易论坛很卡,就没有在论坛搜索,而且铜币那么珍贵。。。。
我现在有个小软件真的很需要自动调列宽那样的功能,就自己琢磨,没想到
真是黄天不负苦心人呐,真就研究出来啦看图
【易语言】易语言源码高级表格自动调整列宽-字体大小换算方法
其实也不能说是原创了,用到了近在眼前的画板方法。
只需四行代码!声明变量不算哦
是不是简单到令人发指!
关键就在于高级表格的实际显示出来后的字体大小,是与其它的窗口组件的字体大小不一样的!
源码以及说明:
.版本 2
.支持库 eGrid
.子程序 _高级表格_结束编辑
.局部变量 行, 整数型
.局部变量 列, 整数型
行 = 高级表格.取光标行号 ()
列 = 高级表格.取光标列号 ()
‘ 画板.字体.字体名称 = “宋体”  ‘ 画板默认就是“宋体”可以不写,若换其它字体的话,就必须要画板和高级表格字体一致。
高级表格.置字体名 (行, 列, , , “宋体”)  ‘ 必须写出来,可能高级表格默认的字体不是宋体。
高级表格.置字体尺寸 (行, 列, , , 四舍五入 (画板.字体.字体大小 × 1.33, ))  ‘ 这个1.33只测试了“宋体”和“黑体”自动换算列宽完美显示,只测试了“微软雅黑”不适合。
高级表格.置边距 (行, 列, , , 0)
高级表格.置列宽 (列, 画板.取宽度 (高级表格.取数据 (行, 列)) + 2)  ‘ 列宽要大于单元格边距1到3,否则最后一个字会和框线重合。
‘ 如果使用的字体不是宋体和黑体,就要自己算一下了。应该有很多个字体适合1.33的,我没有测试。
‘ 上面1.33的算法很简单,先将高级表格“显示出来后”的字体大小 调到和画板字体大小一致了,然后用高级表格的“实际字体大小”除以画板字体大小。
‘ 为什么要先手动调呢?因为高级表格显示出来后的字体大小,是和其它的窗口组件的字体大小不一样的!


爱玩吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【易语言】易语言源码高级表格自动调整列宽-字体大小换算方法
喜欢 (11)