| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 313 人关注过本帖
标题:如何获取编辑框内容有多少行
只看楼主 加入收藏
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:391
专家分:955
注 册:2021-11-24
结帖率:100%
收藏
 问题点数:0 回复次数:12 
如何获取编辑框内容有多少行
编辑框会自动换行显示,这样的话,如何知道这个 Editbox 显示的内容总共有多少行?
目的:宽度固定,想动态调整 Editbox 的高度,让内容都能看得到(不要滚动条)。

谢谢!
搜索更多相关主题的帖子: 显示 多少 编辑框 获取 内容 
2025-10-17 10:23
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:391
专家分:955
注 册:2021-11-24
收藏
得分:0 
我的需求和这个帖子 类似,估计也只能API能搞定了。
这个帖子是改变字号大小:https://bbs.bc-cn.net/viewthread.php?tid=514320&extra=&highlight=%B1%E0%BC%AD%BF%F2&page=1

能否 通过  csyx 老师 9楼的示例 在这个帖子里 的代码改进一下,获取显示内容的高度,然后再设置VFP的 editbox 的高度




[此贴子已经被作者于2025-10-17 15:58编辑过]

2025-10-17 15:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10833
专家分:43448
注 册:2014-5-20
收藏
得分:0 
既然可以调整editbox的高度,那就将editbox的高度固定在最大的限制高度。
2025-10-31 19:14
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10833
专家分:43448
注 册:2014-5-20
收藏
得分:0 
回复 2楼 easyppt
这里也有个比较类同的贴
https://bbs.bc-cn.net/viewthread.php?tid=445552&extra=&highlight=%C3%BF%D0%D0&page=1
2025-10-31 22:41
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1054
专家分:1581
注 册:2021-10-13
收藏
得分:0 
用fontmetric()获得字体的平均宽度,再用editbox的宽度/这个平均宽度,是不是就得到每行的字数?总共多少个字符除以每行的字数,不就知道多少行了?

FONTMETRIC(6 [, cFontName, nFontSize [, cFontStyle]])
2025-11-02 21:40
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:822
专家分:3264
注 册:2018-3-13
收藏
得分:0 
此方案源于 wcx_cc 提出的模拟手工数行数,验证了用此方案取总行数、每行字符内容、行高的可行性
因主要目的是验证方案可行性,所以代码中的变量名随便取的,极不规范,另外,也无理特殊情形(如只有一行。。。等等)的处理
有了总行数和行高,调整字号做到满屏就简单了
Edit2.rar (3.51 KB)
7楼反映的问题,可以试试9楼的方法,看是否有改善

[此贴子已经被作者于2025-11-9 20:09编辑过]


这家伙很懒,啥也没留下
前天 07:30
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1054
专家分:1581
注 册:2021-10-13
收藏
得分:0 
回复 6楼 csyx
,解决了我的困扰

运行了一下,不是很稳定,虽然有几次能得到正确结果

[此贴子已经被作者于2025-11-9 13:28编辑过]

前天 10:32
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2312
专家分:4825
注 册:2012-2-29
收藏
得分:0 
回复 6楼 csyx
前天 13:10
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:822
专家分:3264
注 册:2018-3-13
收藏
得分:0 
以下是引用sam_jiang在2025-11-9 10:32:08的发言:
运行了一下,不是很稳定,虽然有几次能得到正确结果

我仅在自己的本本(win10、vfp9sp2.5815)上验证过,不稳定的因素有哪些不得而知
可以试试加些影响UI的语句,例如

程序代码:
*-- 表单 ttt1 方法
。。。
Do while .t.
*--
*-- wait window nowait '...'
*-- 或者
?? space(0)
*--
    Keyboard '{END}'
    Doevents
    end = ed.SelStart
    ed.SelStart = beg
。。。




[此贴子已经被作者于2025-11-9 20:04编辑过]


这家伙很懒,啥也没留下
前天 18:12
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1054
专家分:1581
注 册:2021-10-13
收藏
得分:0 
回复 9楼 csyx
第一次不正确
图片附件: 游客没有浏览图片的权限,请 登录注册

第二次不正确
图片附件: 游客没有浏览图片的权限,请 登录注册

第三次不正确
图片附件: 游客没有浏览图片的权限,请 登录注册

...
第7-8次才正确
图片附件: 游客没有浏览图片的权限,请 登录注册


暂时不知道原因,因为无法调试,会影响焦点移动,估计是do while循环中,模拟键盘操作没有被执行,do while 循环太快了。。。
前天 22:18
快速回复:如何获取编辑框内容有多少行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018947 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved