使用できるフォントを列挙する
使用できるフォントを列挙するサンプルです。
サンプルの実行画面
APIの宣言
[EnumFont.bas]
'EnumFonts =>使用できるフォントを列挙する
'<引数>
'hDC: デバイスコンテキストのハンドル
'lpsz: フォント名のアドレス
'lpFontEnumProc: コールバック関数のアドレス
'lParam: メモリへのポインタ
'@戻り値@
'正常終了0以外
Public 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
Public Const LF_FACESIZE = 32
Public Const FW_NORMAL = 400
Public Const FW_BOLD = 700
'論理フォント構造体
Public Type LOGFONT
lfHeight As Long 'フォントの高さ
lfWidth As Long 'フォントの幅
lfEscapement As Long '相対的出力角度
lfOrientation As Long '回転角度
lfWeight As Long 'フォントの線の太さ(定数FW_××)
lfItalic As Byte '斜体の時 1
lfUnderline As Byte '下線付きの時 1
lfStrikeOut As Byte '横線付きの時 1
lfCharSet As Byte '
lfOutPrecision As Byte '
lfClipPrecision As Byte '
lfQuality As Byte '
lfPitchAndFamily As Byte '
lfFaceName(LF_FACESIZE) As Byte 'フォントの書体名
End Type
'TEXTMETRIC構造体
Type TEXTMETRIC
tmHeight As Long '文字の高さ
tmAscent As Long '
tmDescent As Long '
tmInternalLeading As Long '
tmExternalLeading As Long '
tmAveCharWidth As Long '平均文字数(通常)
tmMaxCharWidth As Long '最大文字幅
tmWeight As Long 'フォントの線の幅(定数FW_××)
tmOverhang As Long '
tmDigitizedAspectX As Long '
tmDigitizedAspectY As Long '
tmFirstChar As Byte '
tmLastChar As Byte '
tmDefaultChar As Byte '
tmBreakChar As Byte '
tmItalic As Byte '斜体の時 1
tmUnderlined As Byte '下線付きの時 1
tmStruckOut As Byte '横線付きの時 1
tmPitchAndFamily As Byte '
tmCharSet As Byte '文字セット
End Type
Public Function FontEnumProc(lpsz As LOGFONT, Metric As TEXTMETRIC, X As Integer, Y As String) As Long
'文字列を変換してリストに追加
Form1.List1.AddItem StrConv(lpsz.lfFaceName, 64)
'0以外の数を指定
FontEnumProc = 1
End Function
APIの呼び出し
[EnumFont.frm]
Private Sub Command1_Click()
Dim Ret As Long
Ret = EnumFonts(hDC, vbNullString, AddressOf FontEnumProc, ByVal 0&)
End Sub
ソースコード一式のダウンロード
vbapi_enumfont.zip 2.27 KB (2,326 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
| 前の記事: | コンボボックスの各種操作2 |
| 次の記事: | リストボックスの各種操作1 |
公開日:2015年03月05日
記事NO:00401
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









