找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 474|回复: 0

[讨论]:关于VBA中的文字对齐

[复制链接]

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-4 13:22:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在VBA中,如果重新对文本对象设置对齐方式,那么当没有重新指定对齐点时,这个对齐点将会自动设置为原点坐标。

  1.   [FONT=courier new]
  2. Sub Example_AddText()
  3.     ' 这个例子展示了在模型空间创建单行文字对象。

  4.     Dim textObj As AcadText
  5.     Dim textString As String
  6.     Dim insertionPoint(0 To 2) As Double
  7.     Dim height As Double
  8.    
  9.     ' 定义单行文字对象
  10.     textString = "Hello, World."
  11.     insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
  12.     height = 0.5
  13.    
  14.     ' 在模型空间创建单行文字对象
  15.     Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
  16.    
  17.     ' 设置单行文字对象的对齐方式
  18.    
  19.     textObj.Alignment = acAlignmentMiddleCenter
  20.    
  21. End Sub
  22.   [/FONT]


解决方法:变更文本对象的对齐方式后,重新设置文本对象的对齐点。

  1.   [FONT=courier new]
  2. Sub Example_AddText()
  3.     ' 这个例子展示了在模型空间创建单行文字对象。

  4.     Dim textObj As AcadText
  5.     Dim textString As String
  6.     Dim insertionPoint(0 To 2) As Double
  7.     Dim height As Double
  8.    
  9.     ' 定义单行文字对象
  10.     textString = "Hello, World."
  11.     insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
  12.     height = 0.5
  13.    
  14.     ' 在模型空间创建单行文字对象
  15.     Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
  16.    
  17.     ' 设置单行文字对象的对齐方式
  18.    
  19.     textObj.Alignment = acAlignmentMiddleCenter
  20.    
  21.     '重新设置单行文字对象的对齐点
  22.     textObj.TextAlignmentPoint = insertionPoint
  23. End Sub
  24.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-24 12:58 , Processed in 0.372362 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表