- UID
- 149740
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-6-15
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Excel单元格内容转到cad里面用的命令是
RetVal = object.AddMText(InsertionPoint, Width, Text)
在由插入点和边框宽度所定义的矩形中创建多行文字。
其中InsertionPoint
Variant[变体] (三元素双精度数组); 仅用于输入
多行文字边框的插入点。
对于多行文本来说有9个点,即左上、顶中、右上、左中、正中、右中、左下、底中、右下,
InsertionPoint好像是指的是左上这个点,能不能使得InsertionPoint=正中(或者其他点)呢?
我的目的是要水平居中同时垂直居中。
观看其他例子,现举其一:
ElseIf xlRange.VerticalAlignment = xlCenter And xlRange.HorizontalAlignment = xlCenter Then
mTextObj.AttachmentPoint = acAttachmentPointMiddleCenter
tPt = ThisDrawing.Utility.PolarPoint(iPt, -1.5707963, rh / 2)
tPt = ThisDrawing.Utility.PolarPoint(tPt, 0, rw / 2)
基本都是把插入点计算成表格的水平居中并且垂直居中的点的坐标,然后对齐正中点,使得文本放入表格居中。但是在cad2002以上TextObj.AttachmentPoint只是文本的附着点,不能象R14那样移动文本,必须通过计算InsertionPoint来控制文本的插入的对齐位置,多行文本的InsertionPoint如果必须是左上这个点,那么需要水平居中并且垂直居中的话,InsertionPoint就需要计算成
=(该单元格的高度-多行文本的高度)/2
问题是多行文本的高度如何计算呢?牵扯到行间距如何计算? |
|