susan110622 2014-12-21 04:16 采纳率: 0%
浏览 2990

如何在VB6.0中用代码加载系统字体

就是通过组合框能够把系统中的字体全部加载出来,不知道是要用什么代码!

  • 写回答

4条回答

  • threenewbee 2014-12-21 04:22
    关注
    Option Explicit
    
     Private Sub Form_Load()
       Module1.FillComboWithFonts Combo1
     End Sub 
    
     Add a module, Module1, to the project and add the following code to the module. 
    
    Option Explicit
    
     'Font enumeration types
     Public Const LF_FACESIZE = 32
     Public Const LF_FULLFACESIZE = 64
    
     Type LOGFONT
       lfHeight As Long
       lfWidth As Long
       lfEscapement As Long
       lfOrientation As Long
       lfWeight As Long
       lfItalic As Byte
       lfUnderline As Byte
       lfStrikeOut As Byte
       lfCharSet As Byte
       lfOutPrecision As Byte
       lfClipPrecision As Byte
       lfQuality As Byte
       lfPitchAndFamily As Byte
    
       lfFaceName(LF_FACESIZE) As Byte
     End Type
    
     Type NEWTEXTMETRIC
       tmHeight As Long
       tmAscent As Long
       tmDescent As Long
       tmInternalLeading As Long
       tmExternalLeading As Long
       tmAveCharWidth As Long
       tmMaxCharWidth As Long
       tmWeight As Long
       tmOverhang As Long
       tmDigitizedAspectX As Long
       tmDigitizedAspectY As Long
       tmFirstChar As Byte
       tmLastChar As Byte
       tmDefaultChar As Byte
    
       tmBreakChar As Byte
       tmItalic As Byte
       tmUnderlined As Byte
       tmStruckOut As Byte
       tmPitchAndFamily As Byte
       tmCharSet As Byte
       ntmFlags As Long
       ntmSizeEM As Long
       ntmCellHeight As Long
       ntmAveWidth As Long
     End Type
    
     ' ntmFlags field flags
     Public Const NTM_REGULAR = &H40&
     Public Const NTM_BOLD = &H20&
     Public Const NTM_ITALIC = &H1&
    
     ' tmPitchAndFamily flags
     Public Const TMPF_FIXED_PITCH = &H1
    
     Public Const TMPF_VECTOR = &H2
     Public Const TMPF_DEVICE = &H8
     Public Const TMPF_TRUETYPE = &H4
    
     Public Const ELF_VERSION = 0
     Public Const ELF_CULTURE_LATIN = 0
    
     ' EnumFonts Masks
     Public Const RASTER_FONTTYPE = &H1
     Public Const DEVICE_FONTTYPE = &H2
     Public Const TRUETYPE_FONTTYPE = &H4
    
     Declare Function EnumFontFamilies Lib "gdi32" Alias _
        "EnumFontFamiliesA" _
        (ByVal hDC As Long, ByVal lpszFamily As String, _
        ByVal lpEnumFontFamProc As Long, LParam As Any) As Long Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, _
        ByVal hDC As Long) As Long
    
     Function EnumFontFamProc(lpNLF As LOGFONT, lpNTM As NEWTEXTMETRIC, _
        ByVal FontType As Long, LParam As ListBox) As Long
     Dim FaceName As String
     Dim FullName As String
       FaceName = StrConv(lpNLF.lfFaceName, vbUnicode)
       LParam.AddItem Left$(FaceName, InStr(FaceName, vbNullChar) - 1)
       EnumFontFamProc = 1
    
     End Function
    
     Sub FillComboWithFonts(CB As ComboBox)
     Dim hDC As Long
       CB.Clear
       hDC = GetDC(CB.hWnd)
       EnumFontFamilies hDC, vbNullString, AddressOf EnumFontFamProc, CB
       ReleaseDC CB.hWnd, hDC
     End Sub  
    
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值