| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 174 人关注过本帖
标题:RichTextbox控件如何根据自身宽、高,以及用户设定的字体、字号和行距,计算 ...
只看楼主 加入收藏
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:471
专家分:372
注 册:2013-10-4
收藏
得分:0 
其实,计算一屏总行数,经反复实验,我有一个不太精确的解决方案:

程序代码:
*获取当前字体的行高
lnFontHeight = FONTMETRIC(1, thisform.RichTexBox1.Font.Name, thisform.RichTexBox1.Font.Size)

*计算每屏行数
lnLinesPerPage = INT(thisform.RichTexBox1.Height / lnFontHeight / 1.35)


至于那个神秘参数1.35,大致相当于行间距,是我随意设置的——有时候准,有时候不准,计算误差大约在0--2行之间。
不知诸位英雄,有没有更精确的解决方案?

昨天 14:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10676
专家分:43295
注 册:2014-5-20
收藏
得分:0 
GDI绘制文本有设置行间距和字间距的相关函数
思路:
1..获取字串高+行间距,确定行数。
2..获取字串宽,确定一行字数。
行间距可以试试FONTMETRIC(5,.....)+n,n(1,2,.....)试试。
字串宽就有点麻烦,可尝试调用API函数GetTextExtentPoint32W()最后一个参数(SIZE结构)是返回字串输出的x,y座标,x就是字串的宽,y是字高。



昨天 16:24
快速回复:RichTextbox控件如何根据自身宽、高,以及用户设定的字体、字号和行距 ...
数据加载中...
 
   



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

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