明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2833|回复: 10

关于换行的问题?

[复制链接]
发表于 2005-5-28 15:56:00 | 显示全部楼层 |阅读模式
我是在写技术条件的时候:要从 输入界面中的Text10调用. 在界面窗口中,是可以换行的,但是为什么到了cad 里,就换不行了. Dim jstj As AcadMText
Dim textstringjstj As String
Dim heightjstj As Double
Dim insertionpointjstj(0 To 2) As Double
'定义文字的高度和书写位置
textstringjstj = Text10.Text
heightjstj = 3.5
insertionpointjstj(0) = tkc - 130#: insertionpointjstj(1) = 68: insertionpointjstj(2) = 0# acadapp.ActiveDocument.ActiveTextStyle = styobj2
Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 80, textstringjstj) ZoomAll Text10的内容如下: Text10.Text = "1、调质处理230~250HBS;" & vbCrLf & "2、倒角2×45%%d。" 上面的那段程序是对是错? 还是应该换成这样: Dim jstj As AcadText
Dim textstringjstj As String
Dim heightjstj As Double
Dim insertionpointjstj(0 To 2) As Double
'定义文字的高度和书写位置
textstringjstj = Text10.Text
heightjstj = 3.5
insertionpointjstj(0) = tkc - 130#: insertionpointjstj(1) = 68: insertionpointjstj(2) = 0# acadapp.ActiveDocument.ActiveTextStyle = styobj2
Set jstj = acadapp.ActiveDocument.ModelSpace.AddText(textstringjstj, insertionpointjstj, heightjstj) ZoomAll

本帖子中包含更多资源

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

x
发表于 2005-5-28 21:15:00 | 显示全部楼层
把vbCrLf换成\P
 楼主| 发表于 2005-5-29 09:58:00 | 显示全部楼层
mccad发表于2005-5-28 21:15:00把vbCrLf换成\P

Text10.Text = "1、调质处理230~250HBS;" & vbCrLf & "2、倒角2×45%%d。"
 楼主| 发表于 2005-5-29 10:00:00 | 显示全部楼层
mccad发表于2005-5-28 21:15:00把vbCrLf换成\P
是这句话中的么?
Text10.Text = "1、调质处理230~250HBS;" & vbCrLf & "2、倒角2×45%%d。" 直接换肯定不行 会有结束语的问题 我尝试了把那个&添加或删除 但是还是不行 格式应该是对的 最有可能错的是这个 Dim jstj As AcadMText
Dim textstringjstj As String
Dim heightjstj As Double
Dim insertionpointjstj(0 To 2) As Double
'定义文字的高度和书写位置
textstringjstj = Text10.Text
heightjstj = 3.5
insertionpointjstj(0) = tkc - 130#: insertionpointjstj(1) = 68: insertionpointjstj(2) = 0# acadapp.ActiveDocument.ActiveTextStyle = styobj2
Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 80, textstringjstj) 特别是最后一句 Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 80, textstringjstj)
发表于 2005-5-29 10:27:00 | 显示全部楼层
1.将Text10.Text返回的字符串进行替换,如:
textstringjstj = Replace(textstringjstj, vbCrLf, "\P")
2.文字必须使用多行文字:
Dim jstj As AcadMText
Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 60, textstringjstj)
没问题了吧。
 楼主| 发表于 2005-5-29 11:59:00 | 显示全部楼层
mccad发表于2005-5-29 10:27:001.将Text10.Text返回的字符串进行替换,如:textstringjstj = Replace(textstringjstj, vbCrLf, \"\P\")2.文字必须使用多行文字:Dim jstj As AcadMTe...
对于第2点 我已经采用了多行的设置AddMText 对于第1点 你的意思是说:直接把 textstringjstj = Text10.Text
替换成 textstringjstj = Replace(textstringjstj, vbCrLf, "\P") 么? 那样不行诶,我试过了,什么东西都没写出来...
发表于 2005-5-29 20:23:00 | 显示全部楼层
晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。
 楼主| 发表于 2005-5-29 21:29:00 | 显示全部楼层
mccad发表于2005-5-29 20:23:00晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。

高手请不要鄙视弱小者 如果每个人都和你一样懂,那这个论坛就该关门了
 楼主| 发表于 2005-5-29 21:38:00 | 显示全部楼层
mccad发表于2005-5-29 20:23:00晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。

不过,还是得说谢谢
发表于 2005-5-30 06:57:00 | 显示全部楼层
这不是鄙视,而是你完全没注意看。
  1. 将Text10.Text[b][U]返回的字符串[/U][/b]进行替换,如:
  2. textstringjstj = Replace(textstringjstj, vbCrLf, "\P")
复制代码
其中Text10.Text返回的字符串指的就是textstringjstj,因为你程序中已经写了
  1. '定义文字的高度和书写位置
  2. textstringjstj = Text10.Text
复制代码
所以需要对textstringjstj中的vbCrLf替换成\P。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 15:34 , Processed in 0.201487 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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