| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 880 人关注过本帖
标题:求助!如何自动调整编辑框的字号以使其容纳不同字数的内容?
取消只看楼主 加入收藏
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:6 
求助!如何自动调整编辑框的字号以使其容纳不同字数的内容?
最近遇到一个问题,我想在一个固定大小的编辑框中显示备注字段的内容,有时字数多些,有时字数少些,同时要求在显示全部内容的情况下尽量用比较大的字号显示。我现在是用两个命令按钮来实现的,字数少时就增大字号,以使得编辑框不显得那么空,字数多的时候又要减小字号,以使得编辑框能显示出全部内容。但这样挺麻烦的,能不能自动调整字号来实现上述要求呢?
    我注意到有一个integralheight属性,本来以为可以通过它来实现,但我发现它只是通过调整编辑框的高度以使得编辑框中可见的最后一行能全部显示,而不是全部内容中的最后一行。
    还有一个TEXTHEIGHT方法,试了N次,在字符串中加入回车符以后,返回的值竟然没有任何变化!
    各位有什么好办法没有?望指教!
搜索更多相关主题的帖子: 如何 
2015-06-29 18:11
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
或者换个简单的问法:怎样判断编辑框中的文本没有全部显示出来呢?
2015-06-29 18:32
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
回复 3楼 hu9jj
相同字号的情况下,好象字体不同,所占用的像素也不一样。
2015-06-29 19:37
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
回复 3楼 hu9jj
另外就是折行的情况也比较复杂,有的情况下会将整个单词折到下一行,而上一行的字数与正常的字数就不一样了,这种算法恐怕难以准确地计算出来。
2015-06-29 19:41
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
实际上我的编辑框的大小也不是固定的,之所以说是固定的,只是为了更好地搞清主要问题。至于用计算字数的方法,我认为不可取,备注字段内容假如是:程序实例
这是4个汉字。如果内容是:
程序
实例
这也是4个汉字,但显示出来的结果就完全不同了。
另外,如果加下英文单词,会有若干种折行的可能,因此用计算字数的方法是行不通的。
我现在已经找到了一个非常好的方法:
1、将内容送到EDIT1中,然后在键盘缓冲区中加入翻页,使光标定位到文字最后。
2、在内容中追加一个字符,然后在键盘缓冲区中加入退格键删除加入的字符,触发INTERACTIVECHANG事件
3、读取行数,将焦点送到另一个控件
4、在另一个控件中加入thisform.edit1.fontsize=thisform.edit1.fontsize+1,使字号加1
5、将焦点送回EDIT1,读取行数(眼睛看到的行数可能没有发生变化,但读取的行数可能已经发生了变化)
6、使1-5步循环,当EDIT1的大小容纳不下所有的内容时,读取到的行数会忽然变成一个很小的数,此时表明EDIT1刚好无法容纳整个内容了,这个时候将字号-1,这个字号就是当前EDIT1即能容纳全部内容,又是最大的字号了。
这样无论用户是否随时改变了EDIT1的大小,都能做到在显示全部内容的同时,字号是最大的。这个已经通过测试了。
----------------------------------------------------------------
现在问题又来了,我想让EDIT控件是透明的,但是EDIT在获得焦点后就不是透明的了,失去焦点后才会恢复透明,如何能使EDIT控件在获得焦点的时候也是透明的呢?请哪位指教一下,谢谢啦!
2015-07-01 16:49
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
或者问个简单的问题:如何获取某个像素点的颜色值?我记得好象看过有这个函数,但是找了好几个小时也没有找到。
只是找到了一个PSET方法,它能够将某个点的颜色设置成表单的前景色,然后我再读表单的前景色,但是我在屏幕中不同颜色的位置取点,将其设置成表单的前景色,但是读出来的前景色都是一个值,并没有发生变化,不知道怎么回事?
2015-07-01 17:09
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
实践证明:同一字号,如果字体不同,其折行或每个字所占的像素点数是不一样的。
2015-07-03 14:47
快速回复:求助!如何自动调整编辑框的字号以使其容纳不同字数的内容?
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047567 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved