乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 88|回复: 7

如何获取文本宽度

[复制链接]

12

主题

26

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2004-2-8 15:12:00 | 显示全部楼层 |阅读模式
请问如何用VBA获取一个文本的宽度,这个文本是还未用AddText 方法添加到当前文档中的。我是想获取文本宽度后以便可以在一定大小的矩形内居中文字。谢谢各位!
回复

使用道具 举报

41

主题

657

帖子

9

银币

中流砥柱

Rank: 25

铜币
821
发表于 2004-2-8 15:29:00 | 显示全部楼层
用GetBoundingBox方法!
回复

使用道具 举报

12

主题

26

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2004-2-10 10:42:00 | 显示全部楼层
我现在是用这种方法,但他必须要把文本对象创建。我想是在未创建前知道要创建文本的宽度
回复

使用道具 举报

15

主题

285

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
345
发表于 2004-2-10 10:48:00 | 显示全部楼层

那你在那里放文字呢?
回复

使用道具 举报

12

主题

26

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2004-2-10 10:56:00 | 显示全部楼层
我是想获取文本宽度后以便可以在一定大小的矩形内居中文字,我现用的方法是先创建文本,用GetBoundingBox方法取宽度后,计算要放在矩形内插入点后,再用Move 方法将文字移到此位置,但这种方法导致速度慢,请各位高手指点。
回复

使用道具 举报

28

主题

117

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2004-2-10 10:58:00 | 显示全部楼层
你想获取文本宽度后以便可以在一定大小的矩形内居中文字,可以通过算得矩形的中心点坐标,然后addtext,设置
.Alignment =acAlignmentMiddleCenter,                 TextAlignmentPoint为矩形中心点就可以达到居中效果了
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2004-2-10 10:58:00 | 显示全部楼层
那你只能先计算保存所有字符的宽度来备用。这样在插入前按照所要填写的字符计算其每个单字符的宽度加起来。
回复

使用道具 举报

12

主题

26

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2004-2-10 17:09:00 | 显示全部楼层
将单个字符的宽度乘以字符个数是不等于文本宽度的,我试过,好象是文本中间有空隙,影响了全部字符的宽度。谢谢支持!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 12:54 , Processed in 0.343403 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表