找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 405|回复: 2

[VBA程序]:关于单行文字的定位?

[复制链接]
发表于 2005-2-21 14:18:41 | 显示全部楼层 |阅读模式

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

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

×
请教大侠:怎样实现单行文字的定位?
比如我想让我的单行文字“1234567”出线在点:(2,2)
Sub Example_AddText()
    Dim textObj As AcadText
    Dim textString As String
    Dim insertionPoint(0 To 2) As Double
    Dim height As Double
    ' Define the text object
    textString = "1234567"
    insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
    height = 0.5
    ' Create the text object in model space
    Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)

End Sub
可以运行
但是一旦我指定对起点为中下时:
Sub Example_AddText()
    Dim textObj As AcadText
    Dim textString As String
    Dim insertionPoint(0 To 2) As Double
    Dim height As Double
    ' Define the text object
    textString = "1234567"
    insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
    height = 0.5
    ' Create the text object in model space
    Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
    textObj.Alignment = acAlignmentBottomCenter
End Sub
这时候,文字出线的位置就不是我所想要的地方了,我的本意是想让“1234567”中的“4”出线在(2,2)处。
我搞不懂单行文字中的对齐究竟是什么含义?
怎样才能实现我的想法:让单行文字出现在我指定的点,而且这行文字以该点为中心左右对称。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-2-21 15:03:01 | 显示全部楼层
Sub Example_AddText()
Dim textObj As AcadText
Dim textString As String
Dim insertionPoint(0 To 2) As Double
Dim height As Double
' Define the text object
textString = "1234567"
insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
height = 0.5
' Create the text object in model space
Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
textObj.Alignment = acAlignmentMiddle
textObj.TextAlignmentPoint = insertionPoint
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-21 16:44:49 | 显示全部楼层 |阅读模式

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

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

×
首先感谢版主lzh741206  ,
我确实是在想是不是还有个属性指定这个点,多谢版主提示。
另外,我如果只加了textObj.TextAlignmentPoint = insertionPoint,这样改了之后,还不行,因为对齐点虽然是(2,2),但是,我想让“4”这个字符位于(2,2)的想法实现不了,不知道为什么?
我看这个文字标注的属性:一、对齐点:(2,2,0)
二、几何图形位置:(0.4167,6,0)
我的想法是:几何图形位置(0.4167,6,0)
版主是用:acAlignmentMiddle对齐来解决这个问题的,但是我纳闷为什么顶中、底中对齐不行呢?是不是单行编辑默认的文字是个框框的范围?这个框框比单行字还高些?所以对齐不能实现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-29 05:28 , Processed in 0.237395 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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