明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3252|回复: 7

怎么给添加的多行文字的字体加黑?

[复制链接]
发表于 2003-9-24 14:53:00 | 显示全部楼层 |阅读模式
我在添加多行文字时,想给文字加黑显示(也就是文字编辑中的B功能:粗体显示),可是用了textfontstyle方法也不好使,试了其它方法比如linewidth也不行,我现在已经是
哪位高手能帮兄弟一把?不胜感激!
发表于 2003-9-24 18:08:00 | 显示全部楼层
是不是“黑体”啊?
发表于 2003-9-24 21:01:00 | 显示全部楼层
他是说粗体,而不是黑体。
  1. Sub TextB()
  2.     Dim ent As AcadEntity
  3.     Dim pnt As Variant
  4.     On Error Resume Next
  5.     Do
  6.         ThisDrawing.Utility.GetEntity ent, pnt, "选择多行文字:"
  7.         Dim txt As AcadMText
  8.         Set txt = ent
  9.         If Err Then
  10.             Err.Clear
  11.         Else
  12.             Exit Do
  13.         End If
  14.     Loop
  15.     Dim str As String
  16.     str = txt.TextString
  17.     '加粗,其中SimSun为宋体,b1为加粗
  18.     str = "{\fSimSun|b1;" & str & "}"
  19.     txt.TextString = str
  20.     ThisDrawing.Regen acActiveViewport
  21. End Sub
发表于 2003-9-24 21:08:00 | 显示全部楼层
也可以使用TextStyle对象的SetFont方法给文字加粗,它将对所有设置该文字样式的文字生效。
语法:RetVal = object.SetFont(Typeface, Bold, Italic, CharSet, PitchAndFamily)
例子:Sub Example_SetFont()
    ' This example finds the font information for the active text style.
    ' It then changes the font to bold.
   
    Dim typeFace 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
   
    MsgBox "The current text style has the following font properties:" & vbCrLf _
            & "Typeface: " & typeFace & vbCrLf _
            & "Bold: " & Bold & vbCrLf _
            & "Italic: " & Italic & vbCrLf _
            & "Character set: " & charSet & vbCrLf _
            & "itch and Family: " & PitchandFamily
            
    ' Change the bold property
    Bold = Not Bold
   
    ThisDrawing.ActiveTextStyle.SetFont typeFace, Bold, Italic, charSet, PitchandFamily
    MsgBox "The current text style has the following font properties:" & vbCrLf _
            & "Typeface: " & typeFace & vbCrLf _
            & "Bold: " & Bold & vbCrLf _
            & "Italic: " & Italic & vbCrLf _
            & "Character set: " & charSet & vbCrLf _
            & "itch and Family: " & PitchandFamily
            
    ' Reset the font
    Bold = Not Bold
    ThisDrawing.ActiveTextStyle.SetFont typeFace, Bold, Italic, charSet, PitchandFamily

End Sub
 楼主| 发表于 2003-9-25 10:19:00 | 显示全部楼层
谢谢楼上二位的帮助,可是这两种方法我都试过了,可还是没有得到我想要的效果,这是不是跟我用的大字体有关呢?
 楼主| 发表于 2003-9-25 10:45:00 | 显示全部楼层
其实我觉得工程师的建议更适合我的想法,因为我本身也用了格式化参数\w0.7,但是在有两个参数设置时是这样的:\w值\h值x后面加str,跟你的用法有所不同,更不幸的是\b1在我这儿没有任何作用,看不到效果,我用的是ACAD2000,这是原因吗?
版主的高招我也试了,也无济于事,为什么?
发表于 2003-9-25 23:01:00 | 显示全部楼层
请注意加粗只对于TTF字体有效,对SHX字体是无效的。因为SHX字体没有加粗功能。
所以使用
str = "{\fSimSun|b1;" & str & "}"
方法中字体和加粗代码必须在一起使用,而不能拆分。
 楼主| 发表于 2003-9-26 09:16:00 | 显示全部楼层
哦,原来如此,看来我这个想法没法实现了?
谢谢噢:) ........:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 12:45 , Processed in 0.207567 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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