「フォントの設定」ダイアログを表示する
スポンサーリンク
VB6 では、CommonDialog コントロールの ShowFont メソッドを使用します。他のダイアログの機能も含まれてしまっているので、有効でないプロパティが存在します。
オプションの殆どが、Flags プロパティに集約されています。複数のオプションを選択したい場合は Or キーワードで付加する必要があります。また、面倒なことに [キャンセル] ボタンを選択したことを、エラーを起こすことによって判断することになります。
以下の例では、TextBox に設定されたフォントを初期設定とし、ダイアログでフォントの選択をすることによって、TextBox に適用しています。適用可能な属性を列挙していますが、必要のないものは削ってください。
サンプルコード
以下にサンプルコードを示します。
VB6.0 以前
' 初期選択するフォントを設定する
CommonDialog1.FontName = Text1.FontName
CommonDialog1.FontSize = Text1.FontSize
CommonDialog1.FontBold = Text1.FontBold
CommonDialog1.FontItalic = Text1.FontItalic
CommonDialog1.FontUnderline = Text1.FontUnderline
CommonDialog1.FontStrikethru = Text1.FontStrikethru
' 初期選択する色を設定する
CommonDialog1.Color = Text1.ForeColor
' 選択可能なフォントサイズの最大値を設定する
CommonDialog1.Max = 24
' 選択可能なフォントサイズの最小値を設定する
CommonDialog1.Min = 9
' Min プロパティと Max プロパティで指定された値を有効にする
CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFLimitSize
' 存在しないフォントやスタイルを選択すると警告を表示する
CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFForceFontExist
' 取り消し線、下線、テキストの色などのオプションを指定可能にする
CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFEffects
' [ヘルプ] ボタンを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFHelpButton
' [適用] ボタンを表示する (表示されません)
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFApply
' スクリーン フォントを表示する
CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFScreenFonts
' プリンタ フォントを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFPrinterFonts
' スクリーン フォントと、プリンタ フォントを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFBoth
' Ansi 文字セットだけを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFANSIOnly
' 固定ピッチフォント (等幅フォント) だけを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFFixedPitchOnly
' GDI におけるフォント表示をシミュレーションしないようにする
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFNoSimulations
' 画面とプリンタ両方で使用可能なフォントを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFWYSIWYG
' スケーラブル フォントのみを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFScalableOnly
' True Type フォントのみを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFTTOnly
' ベクタ フォントを非表示にする
'CommonDialog1.Flags = CommonDialog1.Flags Or FontsConstants.cdlCFNoVectorFonts
' Flags の属性はこのように同時に選択するのが一般的である
'CommonDialog1.Flags = cdlCFLimitSize Or cdlCFForceFontExist Or cdlCFEffects Or cdlCFScreenFonts
' [キャンセル] ボタンを選択した場合はエラーを発生させる
CommonDialog1.CancelError = True
' エラーをトラップしない
On Error Resume Next
' ダイアログを表示する
Call CommonDialog1.ShowFont
' [キャンセル] ボタンが選択されなかった場合は、選択したフォントを Text1 に適用する
If Err.Number <> ErrorConstants.cdlCancel Then
Text1.FontName = CommonDialog1.FontName
Text1.FontSize = CommonDialog1.FontSize
Text1.FontBold = CommonDialog1.FontBold
Text1.FontItalic = CommonDialog1.FontItalic
Text1.FontUnderline = CommonDialog1.FontUnderline
Text1.FontStrikethru = CommonDialog1.FontStrikethru
End If
' エラー処理を通常のロジックに戻す
On Error GoTo 0
関連するリファレンス
準備中です。
