开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

楼主: wh1234567
收起左侧

[已解决] 关于高级表格行高自适应的函数

 关闭 [复制链接]
结帖率:95% (342/361)
 楼主| 发表于 2024-12-22 19:40:12 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-22 13:28
就这样了,你自己调试吧

https://uy.wzznft.com/i/2024/12/22/8w8nif2.jpg
https://uy.wzznft.com/i/2024/12/22/w0vipz.jpg
为啥不能一样行高?再麻烦老师帮忙看看修正一下吧
回复

使用道具 举报

结帖率:95% (342/361)

签到天数: 19 天

 楼主| 发表于 2024-12-22 22:59:41 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-22 13:28
就这样了,你自己调试吧

高级表格c.置行高 (行, 画板.取宽度 (“1”) × 2)  如何获得字体的实际高度?想加个行高边距
回复

使用道具 举报

签到天数: 15 天

发表于 2024-12-22 23:57:48 | 显示全部楼层   四川省宜宾市
wh1234567 发表于 2024-12-22 22:59
高级表格c.置行高 (行, 画板.取宽度 (“1”) × 2)  如何获得字体的实际高度?想加个行高边距 ...

画板.取宽度 (“1”) × 2 就是高度了

评分

参与人数 1好评 +1 精币 +2 收起 理由
wh1234567 + 1 + 2 麻烦老师按我添加的几个参数格式修正一下吧,行高问题

查看全部评分

回复

使用道具 举报

结帖率:95% (342/361)

签到天数: 19 天

 楼主| 发表于 2024-12-23 00:41:03 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-22 23:57
画板.取宽度 (“1”) × 2 就是高度了

.版本 2
.支持库 eGrid

高级表格根据字体大小自动调整列宽行高 (高级表格1, , 30, 20, 5)

.子程序 高级表格根据字体大小自动调整列宽行高, , ,
.参数 高级表格名称, 高级表格
.参数 列, 整数型, 可空, 可空:空为全列,不空为指定某列
.参数 字体尺寸, 整数型, , ' 我新增的
.参数 列宽边距, 整数型, ,  ' 我新增的
.参数 行高边距, 整数型, ,  ' 我新增的
.局部变量 n, 整数型
.局部变量 q, 整数型
.局部变量 行, 整数型
.局部变量 宽, 整数型

高级表格名称.置字体尺寸 (0, 0, 高级表格名称.行数, 高级表格名称.列数, 字体尺寸)
.如果 (是否为空 (列))
    .计次循环首 (高级表格名称.列数, q)
        宽 = 0
        .计次循环首 (高级表格名称.行数, n)
            行 = n - 1
            列 = q - 1
            画板.字体.字体大小 = 高级表格名称.取字体尺寸 (行, 列) ÷ 1.33
            高级表格名称.置字体名 (行, 列, , , “宋体”)
            高级表格名称.置字体尺寸 (行, 列, , , 四舍五入 (画板.字体.字体大小 × 1.33, ))
            高级表格名称.置边距 (行, 列, , , 列宽边距)  ' 我修改的
            .如果真 (画板.取宽度 (高级表格名称.取数据 (行, 列)) + 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33 > 宽)  ' 我修改的
                宽 = 画板.取宽度 (高级表格名称.取数据 (行, 列)) + 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33  ' 我修改的
                高级表格名称.置列宽 (列, 宽)
                ' 高级表格名称.置行高 (行, 画板.取宽度 (“1”) × 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33)  ' 和宽边距一样的距离。
                高级表格名称.置行高 (行, 画板.取宽度 (“1”) × 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33 - 列宽边距 + 行高边距)  ' 如何修改为和宽边距不一样的距离?
            .如果真结束

        .计次循环尾 ()
    .计次循环尾 ()
还得麻烦老师指点修正一下了,您看看为什么当“列宽边距 ”大于“行高边距”数值时就会字体显示行高不完整?
回复

使用道具 举报

签到天数: 15 天

发表于 2024-12-23 00:52:48 | 显示全部楼层   四川省宜宾市
wh1234567 发表于 2024-12-23 00:41
.版本 2
.支持库 eGrid

你问题太多了,帮不完了,该有的代码都有了,你自己试吧
回复

使用道具 举报

结帖率:95% (342/361)

签到天数: 19 天

 楼主| 发表于 2024-12-23 01:05:24 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-23 00:52
你问题太多了,帮不完了,该有的代码都有了,你自己试吧

呵呵呵,非常感谢老师,最后一次按我表述加入的参数修正一下即可,期待老师了
回复

使用道具 举报

结帖率:95% (342/361)

签到天数: 19 天

 楼主| 发表于 2024-12-23 01:14:59 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-23 00:52
你问题太多了,帮不完了,该有的代码都有了,你自己试吧
  
子程序名返回值类型公开备 注
_按钮1_被单击  
高级表格1.置数据 (0, 1, 1, “呵呵呵12”)
高级表格1.置数据 (1, 2, 1, “呵呵呵12345那么0123uu他”)
高级表格1.置数据 (0, 3, 1, “呵呵呵12345那么0123uu他22222”)
高级表格1.置数据 (1, 3, 1, “呵呵呵12345那么0123uu他”)
高级表格1.置数据 (2, 3, 1, “呵呵呵12345那么0123uu”)
高级表格1.置数据 (3, 3, 1, “呵呵呵12345那么0123uu他222220000”)
高级表格1.置数据 (4, 3, 1, “呵呵呵12345那么0123”)
高级表格1.置数据 (1, 4, 1, “呵呵看看8”)
高级表格1.置数据 (2, 4, 1, “呵呵”)
自动调整列宽行高 (高级表格1, , 30, 0, 0)  ' 没问题
自动调整列宽行高 (高级表格1, , 30, 0, 20)  ' 没问题
自动调整列宽行高 (高级表格1, , 30, 20, 5)  ' 有问题 当“列宽边距 ”大于“行高边距”数值时就会字体显示行高不完整,只能大于等于,求修正。
子程序名返回值类型公开备 注
自动调整列宽行高  
参数名类 型参考可空数组备 注
高级表格名称高级表格
整数型可空:空为全列,不空为指定某列
字体尺寸整数型' 我新增的
列宽边距整数型 ' 我新增的
行高边距整数型 ' 我新增的
变量名类 型静态数组备 注
n整数型 
q整数型 
整数型 
整数型 
高级表格名称.置字体尺寸 (0, 0, 高级表格名称.行数, 高级表格名称.列数, 字体尺寸)
如果 (是否为空 ())
计次循环首 (高级表格名称.列数, q)
宽 = 0
计次循环首 (高级表格名称.行数, n)
行 = n - 1
列 = q - 1
画板.字体.字体大小 = 高级表格名称.取字体尺寸 (行, 列) ÷ 1.33
高级表格名称.置字体名 (行, 列, , , “宋体”)
高级表格名称.置字体尺寸 (行, 列, , , 四舍五入 (画板.字体.字体大小 × 1.33, ))
高级表格名称.置边距 (行, 列, , , 列宽边距)  ' 我修改的
如果真 (画板.取宽度 (高级表格名称.取数据 (行, 列)) + 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33 > 宽)  ' 我修改的
宽 = 画板.取宽度 (高级表格名称.取数据 (行, 列)) + 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33  ' 我修改的
高级表格名称.置列宽 (列, 宽)
高级表格名称.置行高 (行, 画板.取宽度 (“1”) × 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33 - 列宽边距 + 行高边距)  ' 我修改的。如何修改为和宽边距不一样的距离?
计次循环尾 ()
计次循环尾 ()
计次循环首 (高级表格名称.行数, n)
行 = n - 1
画板.字体.字体大小 = 高级表格名称.取字体尺寸 (行, 列) ÷ 1.33
高级表格名称.置字体名 (行, 列, , , “宋体”)
高级表格名称.置字体尺寸 (行, 列, , , 四舍五入 (画板.字体.字体大小 × 1.33, ))
高级表格名称.置边距 (行, 列, , , 列宽边距)  ' 我修改的
如果真 (画板.取宽度 (高级表格名称.取数据 (行, 列)) + 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33 > 宽)  ' 我修改的
宽 = 画板.取宽度 (高级表格名称.取数据 (行, 列)) + 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33  ' 我修改的
高级表格名称.置列宽 (列, 宽)
高级表格名称.置行高 (行, 画板.取宽度 (“1”) × 2 + 高级表格名称.取边距 (行, 列) ÷ 1.33 - 列宽边距 + 行高边距)  ' 我修改的。如何修改为和宽边距不一样的距离?
计次循环尾 ()


i支持库列表   支持库注释   
eGrid高级表格支持库



补充内容 (2024-12-23 01:17):
自动调整列宽行高 (高级表格1, , 30, 20, 5)  ' 有问题 当“列宽边距 ”大于“行高边距”数值时就会字体显示行高不完整,只有大于等于才正常,,求修...正常

补充内容 (2024-12-23 01:18):
只有大于等于才正常,而小于就不正常了,求老师帮忙最后修正一下吧
回复

使用道具 举报

结帖率:95% (342/361)

签到天数: 19 天

 楼主| 发表于 2024-12-23 23:41:36 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-23 00:52
你问题太多了,帮不完了,该有的代码都有了,你自己试吧

期待老师帮忙修正一下尾楼层我发上来的代码,行高问题
回复

使用道具 举报

签到天数: 15 天

发表于 2024-12-24 00:17:19 | 显示全部楼层   四川省宜宾市
wh1234567 发表于 2024-12-23 23:41
期待老师帮忙修正一下尾楼层我发上来的代码,行高问题

你搞那个边距是干嘛的,你如果想宽一点或高一点直接改置列宽置行高的地方不就行了
回复

使用道具 举报

结帖率:95% (342/361)

签到天数: 19 天

 楼主| 发表于 2024-12-24 01:02:08 | 显示全部楼层   内蒙古自治区乌海市
LEOONL 发表于 2024-12-24 00:17
你搞那个边距是干嘛的,你如果想宽一点或高一点直接改置列宽置行高的地方不就行了 ...

需要匹配字体大小,根据字体大小自适应最小宽和高,也可以增加任意宽边距和高边距才行,
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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