关于换行的问题?
我是在写技术条件的时候:要从 输入界面中的Text10调用.在界面窗口中,是可以换行的,但是为什么到了cad 里,就换不行了.
Dim jstj As AcadMText<BR>Dim textstringjstj As String<BR>Dim heightjstj As Double<BR>Dim insertionpointjstj(0 To 2) As Double<BR>'定义文字的高度和书写位置<BR>textstringjstj = Text10.Text<BR>heightjstj = 3.5<BR>insertionpointjstj(0) = tkc - 130#: insertionpointjstj(1) = 68: insertionpointjstj(2) = 0#
acadapp.ActiveDocument.ActiveTextStyle = styobj2<BR>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<BR>Dim textstringjstj As String<BR>Dim heightjstj As Double<BR>Dim insertionpointjstj(0 To 2) As Double<BR>'定义文字的高度和书写位置<BR>textstringjstj = Text10.Text<BR>heightjstj = 3.5<BR>insertionpointjstj(0) = tkc - 130#: insertionpointjstj(1) = 68: insertionpointjstj(2) = 0#
acadapp.ActiveDocument.ActiveTextStyle = styobj2<BR>Set jstj = acadapp.ActiveDocument.ModelSpace.AddText(textstringjstj, insertionpointjstj, heightjstj)
ZoomAll
把vbCrLf换成\P mccad发表于2005-5-28 21:15:00static/image/common/back.gif把vbCrLf换成\P
<BR>Text10.Text = "1、调质处理230~250HBS;" & vbCrLf & "2、倒角2×45%%d。" mccad发表于2005-5-28 21:15:00static/image/common/back.gif把vbCrLf换成\P
是这句话中的么?<BR>Text10.Text = "1、调质处理230~250HBS;" & vbCrLf & "2、倒角2×45%%d。"
直接换肯定不行
会有结束语的问题
我尝试了把那个&添加或删除
但是还是不行
格式应该是对的
最有可能错的是这个
Dim jstj As AcadMText<BR>Dim textstringjstj As String<BR>Dim heightjstj As Double<BR>Dim insertionpointjstj(0 To 2) As Double<BR>'定义文字的高度和书写位置<BR>textstringjstj = Text10.Text<BR>heightjstj = 3.5<BR>insertionpointjstj(0) = tkc - 130#: insertionpointjstj(1) = 68: insertionpointjstj(2) = 0#
acadapp.ActiveDocument.ActiveTextStyle = styobj2<BR>Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 80, textstringjstj)
特别是最后一句
Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 80, textstringjstj) 1.将Text10.Text返回的字符串进行替换,如:<BR>textstringjstj = Replace(textstringjstj, vbCrLf, "\P")<BR>2.文字必须使用多行文字:<BR>Dim jstj As AcadMText<BR>Set jstj = acadapp.ActiveDocument.ModelSpace.AddMText(insertionpointjstj, 60, textstringjstj)<BR>没问题了吧。<BR> mccad发表于2005-5-29 10:27:00static/image/common/back.gif1.将Text10.Text返回的字符串进行替换,如:textstringjstj = Replace(textstringjstj, vbCrLf, \"\P\")2.文字必须使用多行文字:Dim jstj As AcadMTe...
对于第2点
我已经采用了多行的设置AddMText
对于第1点
你的意思是说:直接把
textstringjstj = Text10.Text<BR>替换成 textstringjstj = Replace(textstringjstj, vbCrLf, "\P") 么?
那样不行诶,我试过了,什么东西都没写出来...
<BR> 晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。 mccad发表于2005-5-29 20:23:00static/image/common/back.gif晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。
<BR>高手请不要鄙视弱小者
如果每个人都和你一样懂,那这个论坛就该关门了 mccad发表于2005-5-29 20:23:00static/image/common/back.gif晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。
<BR>不过,还是得说谢谢 这不是鄙视,而是你完全没注意看。将Text10.Text返回的字符串进行替换,如:
textstringjstj = Replace(textstringjstj, vbCrLf, "\P")其中Text10.Text返回的字符串指的就是textstringjstj,因为你程序中已经写了'定义文字的高度和书写位置
textstringjstj = Text10.Text所以需要对textstringjstj中的vbCrLf替换成\P。
页:
[1]
2