cryyyy 发表于 2005-5-28 15:56:00

关于换行的问题?

我是在写技术条件的时候:要从 输入界面中的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;" &amp; vbCrLf &amp; "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                               




mccad 发表于 2005-5-28 21:15:00

把vbCrLf换成\P

cryyyy 发表于 2005-5-29 09:58:00

mccad发表于2005-5-28 21:15:00static/image/common/back.gif把vbCrLf换成\P

<BR>Text10.Text = "1、调质处理230~250HBS;" &amp; vbCrLf &amp; "2、倒角2×45%%d。"

cryyyy 发表于 2005-5-29 10:00:00

mccad发表于2005-5-28 21:15:00static/image/common/back.gif把vbCrLf换成\P


是这句话中的么?<BR>Text10.Text = "1、调质处理230~250HBS;" &amp; vbCrLf &amp; "2、倒角2×45%%d。"                       


直接换肯定不行


会有结束语的问题


我尝试了把那个&amp;添加或删除


但是还是不行


格式应该是对的


最有可能错的是这个


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)

mccad 发表于 2005-5-29 10:27:00

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>

cryyyy 发表于 2005-5-29 11:59:00

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>

mccad 发表于 2005-5-29 20:23:00

晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。

cryyyy 发表于 2005-5-29 21:29:00

mccad发表于2005-5-29 20:23:00static/image/common/back.gif晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。


<BR>高手请不要鄙视弱小者


如果每个人都和你一样懂,那这个论坛就该关门了

cryyyy 发表于 2005-5-29 21:38:00

mccad发表于2005-5-29 20:23:00static/image/common/back.gif晕倒,怎么程序都不会看啊。那一行是加到textstringjstj = Text10.Text后面。


<BR>不过,还是得说谢谢

mccad 发表于 2005-5-30 06:57:00

这不是鄙视,而是你完全没注意看。将Text10.Text返回的字符串进行替换,如:
textstringjstj = Replace(textstringjstj, vbCrLf, "\P")其中Text10.Text返回的字符串指的就是textstringjstj,因为你程序中已经写了'定义文字的高度和书写位置
textstringjstj = Text10.Text所以需要对textstringjstj中的vbCrLf替换成\P。
页: [1] 2
查看完整版本: 关于换行的问题?