求助:关于VB中设置字体的问题!
<P>我想在CAD里输出不同字体的文本,但我如果加入下面的语句时所有文本的字体全变成宋体了,这并不是我想要的结果.</P><P>Thisdrawing.ActiveTextStyle.SetFont "宋体", False, False, 60, 0<BR>Set textObj = Thisdrawing.ModelSpace.AddText("正线公里标", InsertionPoint, 2.5)</P>
<P>如果我象下面这样用的话"正线公里标"这几个字又显示不出来,全是?.请问大家这是怎么回事啊?怎样才能分别对不同的文本设置其字体啊?</P>
<P>Dim typeFace As String<BR>Dim SavetypeFace As String<BR>Dim Bold As Boolean<BR>Dim Italic As Boolean<BR>Dim charSet As Long<BR>Dim PitchandFamily As Long</P>
<P>Thisdrawing.ActiveTextStyle.GetFont typeFace, Bold, Italic, charSet, PitchandFamily<BR>SavetypeFace = typeFace<BR>Thisdrawing.ActiveTextStyle.SetFont "宋体", False, False, 60, 0<BR>Thisdrawing.Regen acActiveViewport<BR>Set textObj = Thisdrawing.ModelSpace.AddText("正线公里标", InsertionPoint, 2.5)<BR>Thisdrawing.ActiveTextStyle.SetFont SavetypeFace, False, False, 60, 0<BR>Thisdrawing.Regen acActiveViewport</P> <P>要使字体不同首先必须加入的文本类形是acadmtext,再次与全局字体不同要在输入的字符串加标识.</P>
<P>Dim MText As AcadMText<BR> Dim InsertP(0 To 2) As Double<BR> InsertP(0) = 0<BR> InsertP(1) = 0<BR> </P>
<P>' 加入黑体<BR> Set MText = ThisDrawing.ModelSpace.AddMText(InsertP, 300, "{\f@simhei|b0|i0|c134|p2;文本内容}")</P>
<P>' 加入楷体GB2312<BR> Set MText = ThisDrawing.ModelSpace.AddMText(InsertP, 300, "{\fkaiti_gb2312|b0|i0|c134|p49;文本内容}")</P> <P>补充,这是我机器上的字符代码,若想输入不同字体,可打开个AUTOCAD,用MTEXT写入不同字体的文本,查看其属性,看其内容字符串的头即可.</P>
<P>个人感觉这格式很象网络传输中,协议的各层加入IP包的头标识.这样理解会容易些.</P>
页:
[1]