请教各位高手关于RichTextBox文本行的高度的问题

yeah33 2003-10-15 11:42:21
用RichText控件载入一个rtf文本后,怎样得到该文本的全部高度,也就是RichText的滚动条的Max值?
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeah33 2003-10-20
  • 打赏
  • 举报
回复
谢谢各位,但是我的问题并不考虑在98系统下RTF不支持行距的问题(2000环境),而且该文本可以用Word先编辑好,然后再用RTF文本载入。所以rainstormmaster提到行数乘以单行文本高度不可行,因为每一行文本字体都有可能不同,例如标题、副标题等。我原先设想,一行一行分析字体高度,再加总,可以得到,但是如何实现?希望可以给出代码!十分谢谢!我还有一种设想,就是可否使用API得到文本框的滚动条的Value,这个Value就是文本的高度,但是如何实现?
rainstormmaster 2003-10-18
  • 打赏
  • 举报
回复
TextBox和VB所带的RichTextBox都不支持行间距设置。尽管RTF中定义了行间距设置,但Win95的RichTextBox忽略该设置。如果使用RichEdit 3.0,它可以支持定义行间距。该DLL包括在Windows 2000和Windows Installer中,你可以看看你的SYSTEM目录中的Riched20.dll文件,如果该文件的版本号为5.30.23.1200或更高,则你的系统中就安装了RichEdit 3.0。但是VB的RichTextBox不支持这个DLL,你可以使用免费的控件vbAccelerator RichEdit Control(http://www.vbaccelerator.com/codelib/richedit/richedit.htm)来利用该DLL的新功能。不过使用该控件的一个缺点是在中文系统可能有些问题。
你也可以使用ALLText HT/Pro(http://www.bennet-tec.com)或TX Text Control(http://www.textcontrol.com/)来实现此功能。

kmzs 2003-10-18
  • 打赏
  • 举报
回复
如何改变行距?
rainstormmaster 2003-10-18
  • 打赏
  • 举报
回复
用RichText控件的文本行数乘以单行文本的高度就可以了:
参考:
http://www.yesky.com/20001012/121819.shtml

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧