发一个研究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就可以了。
顶一下阿勇老师,再请教一个有营养的问题,vb6在CAD中如何实现伸缩式窗体,类似QQ鼠标移动到隐藏边出来窗体,鼠标从窗体上移开,窗体隐藏到侧边 先要设置字体 能直接添加到现有字体么! 似乎是仅列出1-999号字符,并不是列出字体里支持的所有字符?截图只是后边的部分字符吧。编着玩玩还行,实用性并不大~ 不错不错,学习一下,初入! 1.这个好像识别不出来就是显示?号。
2.在mtext中不起作用,text中还行
3.刚开始是怎么知道这些符号都是%%开始的呢?
renhaitao_nice 发表于 2019-5-15 12:08
1.这个好像识别不出来就是显示?号。
2.在mtext中不起作用,text中还行
3.刚开始是怎么知道这些符号都是% ...
1.不是显示不出来,而是哪个编码没有对应的符号;
2.在mtext里,只要字体设置正确,也没问题;
3.这。。。
页:
[1]