明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4003|回复: 2

求助:关于VB中设置字体的问题!

[复制链接]
发表于 2006-11-21 20:45:00 | 显示全部楼层 |阅读模式

我想在CAD里输出不同字体的文本,但我如果加入下面的语句时所有文本的字体全变成宋体了,这并不是我想要的结果.

Thisdrawing.ActiveTextStyle.SetFont "宋体", False, False, 60, 0
Set textObj = Thisdrawing.ModelSpace.AddText("正线公里标", InsertionPoint, 2.5)

如果我象下面这样用的话"正线公里标"这几个字又显示不出来,全是?.请问大家这是怎么回事啊?怎样才能分别对不同的文本设置其字体啊?

Dim typeFace As String
Dim SavetypeFace As String
Dim Bold As Boolean
Dim Italic As Boolean
Dim charSet As Long
Dim PitchandFamily As Long

Thisdrawing.ActiveTextStyle.GetFont typeFace, Bold, Italic, charSet, PitchandFamily
SavetypeFace = typeFace
Thisdrawing.ActiveTextStyle.SetFont "宋体", False, False, 60, 0
Thisdrawing.Regen acActiveViewport
Set textObj = Thisdrawing.ModelSpace.AddText("正线公里标", InsertionPoint, 2.5)
Thisdrawing.ActiveTextStyle.SetFont SavetypeFace, False, False, 60, 0
Thisdrawing.Regen acActiveViewport

发表于 2006-11-23 09:49:00 | 显示全部楼层

要使字体不同首先必须加入的文本类形是acadmtext,再次与全局字体不同要在输入的字符串加标识.

Dim MText As AcadMText
  Dim InsertP(0 To 2) As Double
  InsertP(0) = 0
  InsertP(1) = 0
 

' 加入黑体
  Set MText = ThisDrawing.ModelSpace.AddMText(InsertP, 300, "{\f@simhei|b0|i0|c134|p2;文本内容}")

' 加入楷体GB2312
  Set MText = ThisDrawing.ModelSpace.AddMText(InsertP, 300, "{\fkaiti_gb2312|b0|i0|c134|p49;文本内容}")

发表于 2006-11-23 09:52:00 | 显示全部楼层

补充,这是我机器上的字符代码,若想输入不同字体,可打开个AUTOCAD,用MTEXT写入不同字体的文本,查看其属性,看其内容字符串的头即可.

个人感觉这格式很象网络传输中,协议的各层加入IP包的头标识.这样理解会容易些.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 22:20 , Processed in 0.134191 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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