请教VBA字体问题问题?
<P>我用VBA写字体出现了一些问题,请高手指教:</P><P>(1)、我用BigFontFile方法生成字体,在一张CAD图纸上第一次生成的是我所要的字体,见截图(一)。但我在该张图纸上按同样的方法生成字体,却变成了另外一种字体,见截图(二)。这是为何啊?函数和测试程序如下,</P>
<P>Function InsertTextWithStyle(TextString As String, insertionPoint As Variant, Height As Double, Alignment As Integer, shxFile As String, TextStyleName As String, Scalefactor As Double)<BR> Dim Text As AcadText<BR> Dim pTextStyle As AcadTextStyle<BR> Set pTextStyle = ThisDrawing.TextStyles.Add(TextStyleName)<BR> pTextStyle.BigFontFile = shxFile<BR> ThisDrawing.ActiveTextStyle = pTextStyle<BR> Set Text = ThisDrawing.ModelSpace.AddText(TextString, insertionPoint, Height)<BR> Text.Alignment = Alignment<BR> Text.TextAlignmentPoint = insertionPoint<BR> Text.Scalefactor = Scalefactor<BR> Text.Color = acWhite<BR> Text.Update<BR>End Function<BR>Sub test1()<BR> Dim BasePnt As Variant<BR> BasePnt = ThisDrawing.Utility.GetPoint(, "选择一点:")<BR> <BR> Dim pTextStle As AcadTextStyle<BR> Dim TextString As String<BR> Dim TextHeight As Double<BR> Dim Alignment As Integer<BR> Dim pTextStyle As AcadTextStyle<BR> Dim TextStyleName As String<BR> Dim TTFName As String<BR> Dim shxFile As String<BR> Dim Scalefactor As Double<BR> TextString = " 明经通道CAD社区!"<BR> TextHeight = 10<BR> Alignment = 1<BR> TextStyleName = "HZ"<BR> Scalefactor = 0.8<BR> shxFile = "hztxt.shx"<BR> Call InsertTextWithStyle(TextString, BasePnt, TextHeight, Alignment, shxFile, TextStyleName, Scalefactor)<BR>End Sub</P>
<P>这个测试程序多次生成不会出现上述现象,但其他程序调用这个函数就会出现这种字体不一致的问题!</P>
<P>(2)、还有一种字体不知道如何生成,见截图(三),我生成的字体总是无法加粗,尽管我用ThisDrawing.ActiveTextStyle.SetFont TTFName, True, True, 0, 0方法加粗,但仍然与我要的有很大的区别,这是为何?请高手赐教!谢谢!</P>
<P>截图(一)</P>
<P></P>
<P>截图(二)</P>
<P></P>
<P>截图(三)</P>
<P></P> 怎么没人理我啊,难道是我没说清楚吗? <P>用这个测试程序也有问题吗?我怎么试都没有问题。<BR>汉字本身在ACAD中就不能加粗,你在字体设置中也试试看。<BR></P> <P>(1)、这个测试程序没问题,而在我另外一个画图框程序中,调用的同一个函数,但在一张CAD图纸上第二次运行画图框程序就会出现上面的现象。第一次运行图框程序时,字体样式 = "黑体",字体文件 = hztxt.shx,但第二次运行时,部分字体却自动变为:样式 = "HZ", 字体 = 黑体,尽管是同一程序,这是为何啊?</P>
<P>(2)、字体设置中如何试试啊?换成别的字体和样式吗?</P>
页:
[1]