如何獲取系統的所有字體名稱?

aismin 2003-09-24 12:06:21
如何?
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
射天狼 2003-09-24
  • 打赏
  • 举报
回复
同意Garfield(猫仔|学VC少抢分..) 的~~
vansoft 2003-09-24
  • 打赏
  • 举报
回复
不好意思,拷贝错了。

Garfield 2003-09-24
  • 打赏
  • 举报
回复
For i = 0 To Screen.FontCount - 1
Debug.Print Screen.Fonts(i)
Next
vansoft 2003-09-24
  • 打赏
  • 举报
回复
Private Sub Form_Click ()
Dim I As Integer, Flag As Boolean
For I = 0 To Printer.FontCount - 1
Flag = StrComp (Font.Name,Printer.Fonts(I), 1)
If Flag = True Then
Debug.Print "There is a matching font."
Exit For
End If
Next I
End Sub

hisofty 2003-09-24
  • 打赏
  • 举报
回复
EnumFontFamilies

VB声明
Declare Function EnumFontFamilies Lib "gdi32" Alias "EnumFontFamiliesA" (ByVal hdc As Long, ByVal lpszFamily As String, ByVal lpEnumFontFamProc As Long, ByVal lParam As Long) As Long
说明
列举指定设备可用的字体
返回值
Long,由回调函数返回的前一个值
参数表
参数 类型及说明
hdc Long,设备场景的句柄
lpszFamily String,欲枚举的字体家族。如指定 vbNullString,可枚举出每种可用字体家族中的一种字体
lpEnumFontFamProc Long,欲调用的函数地址。这个地址是用 AddressOf 运算符为来自一个标准模块的函数进行操作,或者利用某个回调控件得到
lParam Long,指定希望传递给回调函数的一个用户自定义值
注解
这个函数取代了API函数 EnumFonts,因为它能对TureType字体样式说明进行控制
只有实际存在的字体才会列举出来,那些可由GDI合成的字体不会列出

EnumFontFamiliesEx

VB声明
Declare Function EnumFontFamiliesEx Lib "gdi32" Alias "EnumFontFamiliesExA" (ByVal hdc As Long, lpLogFont As LOGFONT, ByVal lpEnumFontProc As Long, ByVal lParam As Long, ByVal dw As Long) As Long
说明
根据一个LOGFONT结构提供的信息,列举指定设备可用的字体
返回值
Long,由回调函数返回的前一个值
参数表
参数 类型及说明
hdc Long,设备场景的句柄
lpLogFont LOGFONT,这个结构指定了欲枚举的字体。此时用到的字段包括:lfCharSet, lfFaceName 和 lfPitchAndFamily。其他所有字段都会忽略
lpEnumFontFamProc Long,欲调用的函数地址。这个地址是用 AddressOf 运算符为来自一个标准模块的函数进行操作,或者利用某个回调控件得到
lParam Long,指定希望传递给回调函数的一个用户自定义值
dw Long,保留,设为零
注解
参见EnumFontFamilies函数的注解

hisofty 2003-09-24
  • 打赏
  • 举报
回复
EnumFonts

VB声明
Declare Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As Long, ByVal lpsz As String, ByVal lpFontEnumProc As Long, ByVal lParam As Long) As Long
说明
列举指定设备可用的字体
注解
该函数使用的参数与EnumFontFamilies函数是一样的,工作原理也大致相同。只是EnumFontFamilies会利用ENUMLOGFONT 和 NEWTEXTMETRIC结构向回调函数传递附加的信息,而不是使用LOGFONT 和 TEXTMETRIC结构。请参考EnumFontFamilies函数,那里有更详细的解释

liaoliao915 2003-09-24
  • 打赏
  • 举报
回复
For i = 0 To Screen.FontCount - 1
Debug.Print Screen.Fonts(i)
Next
hxy2003 2003-09-24
  • 打赏
  • 举报
回复
Screen.Fonts(i)

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧