whyer 发表于 2003-12-3 15:57:00

如何实现输入汉字?

为什么在VB中编写的程序在AutoCAD中显示的汉字全部为????
请高手帮忙写个函数来解决这个问题,并能实现字体,大小的改变.
不胜感激!

efan2000 发表于 2003-12-3 19:03:00

汉字显示为?号,是因为文字所使用的字体不支持中文的,将它转化成中文字体就行了。
字体一般是通过文字样式的设置,字高可以使用它的属生Height来更改。

wenyuan 发表于 2003-12-3 21:36:00

只要在AutoCAD的fonts目录下放入中文字体就行了

whyer 发表于 2003-12-27 19:05:00

一对废话,我要的是代码!!!!!!!!!!!!

yfy2003 发表于 2003-12-27 19:19:00

Dim Styleobj As AcadTextStyle             '汉字字体集合
      Set AcadDoc = acadApp.ActiveDocument
      Set MoSpace = AcadDoc.ModelSpace
      Set paSpace = AcadDoc.PaperSpace
      acadApp.Visible = acTrue
      Set Styleobj = AcadDoc.TextStyles.Add("黑体")
      Styleobj.fontFile = "c:\windows\fonts\simhei.ttf"
      Set Styleobj = AcadDoc.TextStyles.Add("仿宋")
      Styleobj.fontFile = "c:\windows\fonts\simfang.ttf"
      Set Styleobj = AcadDoc.TextStyles.Add("楷体")
      Styleobj.fontFile = "c:\windows\fonts\simkai.ttf"
。。。。。。。

AcadDoc.ActiveTextStyle = AcadDoc.TextStyles.Add("黑体")
设置为当前字体后开始写文字!

不知能不能满足你的要求?试试!

mccad 发表于 2003-12-27 19:35:00

whyer发表于2003-12-27 19:05:00static/image/common/back.gif一对废话,我要的是代码!!!!!!!!!!!!



晕,提要求还这么不客气。

zeng29 发表于 2003-12-27 19:42:00

都是这个贴子惹的祸,呵呵...
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=14105&star=1&skin=0

myfreemind 发表于 2003-12-27 20:31:00

whyer发表于2003-12-3 15:57:00static/image/common/back.gif如何实现输入汉字?
为什么在VB中编写的程序在AutoCAD中显示的汉字全部为????
请高手帮忙写个函数来解决这个问题,并能实现字体,大小的改变.
不胜感激!


把你的代码发上来,看看是不是你哪里写错了!!

gzy 发表于 2003-12-28 15:32:00

Sub textfont()
Dim typeface As String
Dim textbold As Boolean
Dim textitalic As Boolean
Dim textcharset As Long
Dim textpfamily As Long
ThisDrawing.ActiveTextStyle.GetFont typeface, _
textbold, textitalic, textcharset, textpfamily
MsgBox "当前字体为:" & typeface
typeface = "隶书"'在此设置字体!!!!!!!!!
ThisDrawing.ActiveTextStyle.SetFont typeface, _
textbold, textitalic, textcharset, textpfamily
ThisDrawing.Regen acActiveViewport
Dim textobj As AcadText
Dim textstring As String
Dim textheight As Double
Dim inspoint(0 To 2) As Double
textstring = "关章洋"
inspoint(0) = 10
inspoint(1) = 10
inspoint(2) = 0
textheight = 5
Set textobj = ThisDrawing.ModelSpace.AddText(textstring, inspoint, textheight)
ThisDrawing.Application.ZoomExtents
End Sub

arden 发表于 2003-12-28 16:55:00

对这么不礼貌的家伙还如此耐心,佩服!佩服!虽然大家是朋友用不着“跪求”但别人付出了劳动,起码的尊重我想还是应该的吧。
页: [1] 2
查看完整版本: 如何实现输入汉字?