zzyong00 发表于 2018-7-29 21:18:58

发一个研究autocad字体有哪些字符的小代码

发一个研究autocad字体有哪些字符的小代码,可能有不对的地方,请大家指正。
用法:1.设置你要测试的字体,在“字体样式”对话框设置,
2.
把以下代码放在vbaIDE里,运行。
Option Explicit

'测试字体中的特殊符号
Public Sub cs()
Dim tc1 As AcadAcCmColor, tc2 As AcadAcCmColor

Set tc1 = ThisDrawing.Application.GetInterfaceObject("Autocad.AcCmColor" & "." & Left(ThisDrawing.Application.Version, 2))
Set tc2 = ThisDrawing.Application.GetInterfaceObject("Autocad.AcCmColor" & "." & Left(ThisDrawing.Application.Version, 2))

tc1.ColorIndex = acCyan
tc2.ColorIndex = acRed
Dim objTxt As AcadText, V As String, Inspt(2) As Double
Dim i As Long, j As Long
Const 列数 = 5
Const 行距 = 20

''以下为初步测试
For j = 1 To 999
    i = i + 1
    V = "%%%%" & CStr(j)
    Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
    Inspt(1) = ((i - 1) \ 列数) * 行距
    Inspt(2) = 0
    Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
    objTxt.TrueColor = tc2

    V = "%%" & CStr(j)
    Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
    Inspt(1) = ((i - 1) \ 列数) * 行距 - 行距 / 2
    Inspt(2) = 0
    Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
    objTxt.TrueColor = tc1
Next j



For j = Asc("A") To Asc("z")
    i = i + 1
    V = "%%%%" & Chr(j)
    Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
    Inspt(1) = ((i - 1) \ 列数) * 行距
    Inspt(2) = 0
    Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
    objTxt.TrueColor = tc2
    V = "%%" & Chr(j)
    Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
    Inspt(1) = ((i - 1) \ 列数) * 行距 - 行距 / 2
    Inspt(2) = 0
    Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
    objTxt.TrueColor = tc1
Next j

ThisDrawing.Application.ZoomExtents

End Sub

3.测试结果如图所示:


4.例如,当你想输入η时,在文字框里输入%%951就可以了。

Kye 发表于 2018-7-29 21:33:24

顶一下阿勇老师,再请教一个有营养的问题,vb6在CAD中如何实现伸缩式窗体,类似QQ鼠标移动到隐藏边出来窗体,鼠标从窗体上移开,窗体隐藏到侧边

spp_wall 发表于 2018-7-30 09:07:21

先要设置字体 能直接添加到现有字体么!

mikewolf2k 发表于 2018-7-31 11:22:55

似乎是仅列出1-999号字符,并不是列出字体里支持的所有字符?截图只是后边的部分字符吧。编着玩玩还行,实用性并不大~

并州驴友 发表于 2019-4-22 17:27:22

不错不错,学习一下,初入!

renhaitao_nice 发表于 2019-5-15 12:08:38

1.这个好像识别不出来就是显示?号。
2.在mtext中不起作用,text中还行
3.刚开始是怎么知道这些符号都是%%开始的呢?

zzyong00 发表于 2019-5-16 12:21:11

renhaitao_nice 发表于 2019-5-15 12:08
1.这个好像识别不出来就是显示?号。
2.在mtext中不起作用,text中还行
3.刚开始是怎么知道这些符号都是% ...

1.不是显示不出来,而是哪个编码没有对应的符号;
2.在mtext里,只要字体设置正确,也没问题;
3.这。。。
页: [1]
查看完整版本: 发一个研究autocad字体有哪些字符的小代码