VB6获取RICHTEXTBOX中文字的宽度和高度

6742 2013-02-18 11:17:57
如何用VB6获取RICHTEXTBOX中文字的宽度,首先是要假设这些文字没有转行,其中文字字体不一致、字号也不同。返回以缇为单位的长度就是了。
...全文
303 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
6742 2013-03-15
  • 打赏
  • 举报
回复
引用 7 楼 c0631106233 的回复:
不清楚你为什么要计算文本宽度,如果是有其他用途,说出来看看,也许可以不用这样实……
我是要按行处理RTB中的文本,有时一行文本可能要加入或减去一些字符,也就是说一行文本的字符会有所变化, 但我还是想让变化后的文本在本行,不转入下一行,且在可视范围 我的想法是:知道了宽度,再重新调整字符字号。 如果有更好的办法,请明示,谢谢
酷心 2013-02-27
  • 打赏
  • 举报
回复
你可以尝试使用vb自带的TextWidth和TextHeight,前提是要设置字体,比如Set Me.Font=RichTextBox.SelFont 使用Me.TextWidth(Text),不过对于RichTextBox这种多个格式混合的就很麻烦,要分别计算每种字体的宽度,等待高手的出现,不清楚你为什么要计算文本宽度,如果是有其他用途,说出来看看,也许可以不用这样实现。
tanta 2013-02-26
  • 打赏
  • 举报
回复
好久没用VB了,以前做过类似的东西,好像是用的Measure什么的一个函数,你自己查查吧。
6742 2013-02-26
  • 打赏
  • 举报
回复
自己UP一下
6742 2013-02-20
  • 打赏
  • 举报
回复
VB6获取RICHTEXTBOX中文字的宽度,有知道的吗?谢谢
6742 2013-02-20
  • 打赏
  • 举报
回复
引用 2 楼 ybh37 的回复:
从rtf格式入手简单些。
如果这个RTF文件中,就只有一个字符,那么这个字符占用多宽呀,rtf格式不懂,请明示。 {\rtf1\ansi\ansicpg936\deff0{\fonttbl{\f0\fnil\fprq2\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset134 \'cb\'ce\'cc\'e5;}} {\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\li405\ri405\lang2052\f0\fs72 a\f1\fs18\par } 以上是一个字母a的rtf文件,使用的是宋体,36号字 {\rtf1\ansi\ansicpg936\deff0{\fonttbl{\f0\fmodern\fprq1\fcharset134 \'ba\'da\'cc\'e5;}{\f1\fnil\fcharset134 \'cb\'ce\'cc\'e5;}} {\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\li405\ri405\lang2052\f0\fs24 a\f1\fs18\par } 以上是一个字母a的rtf文件,使用的是黑体,12号字 什么才是这个字母的宽度呢?谢谢
咸清 2013-02-20
  • 打赏
  • 举报
回复
从rtf格式入手简单些。

7,763

社区成员

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

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