NonSoft

大きいフォントのMsgBoxのサンプル(VB6)の概要


 ち〜な〜み〜に〜

大きいフォントのMsgBoxのサンプル(VB6)の概要 2007/11/15
MsgBox(メッセージボックス)のフォントサイズが他の画面に比べ小さすぎると困ったため大きい
フォントのMsgBoxのサンプルソースを作ってみました。

このサンプルは標準のメッセージボックスのフォント名とフォントサイズを変更するものです。
別フォームでメッセージボックスに似た物を作った訳ではありませんので、フォントサイズ以外
は標準のメッセージボックスとまったく同じはずです。

VB6のフォームにCommandButtonを5つ配列で追加してお試しください。
本サンプルのキーワードは以下の通りです。
(1)SetWindowsHookEx
(2)LOGFONT
(3)WM_GETFONT
(4)WM_SETFONT
(5)SetWindowText
(6)SetWindowPos
(7)GetSystemMetrics

このサンプルは簡易版ですが、「大きいフォントのMsgBox(VB6/VB.NET/C#.NET)」 として
公開中のDLLは指定したフォントサイズでMsgBoxのサイズを自動調整しますので、より
使い安いくなっています。フォントの属性(太字、斜体、取消線、下線)の変更も可能で、
メッセージボックスをオーナーフォームの中央に表示する事も出来ます。
是非「便利ツール」コーナーもお試しください。


大きいフォントのMsgBox(VB6/VB.NET/C#.NET)を使用したサンプル(ソース/コード)はこちらです。
VBScriptやEXCEL VBAで大きなフォントのメッセージを表示する事が出来ます。

' MsgBoxオブジェクト
Public NonMsgVb6

' 大きいフォントのMsgBox初期化
NonMsgVb6_Init
    
' 大きいフォントのMsgBox表示
bnt = NonMsgVb6.MsgBoxPlus( _
    "大きいフォントのメッセージ", vbYesNo + vbQuestion, "メッセージタイトル")

' クリックしたMsgBoxのボタン
If bnt = vbYes Then
    ' 標準フォントのMsgBox表示
    MsgBox "vbYes"
ElseIf bnt = vbNo Then
    ' 標準フォントのMsgBox表示
    MsgBox "vbNo"
End If

Public Sub NonMsgVb6_Init()
    ' オブジェクト生成
    Set NonMsgVb6 = CreateObject("NonMsgVb6.MsgBoxClass")

    ' メッセージフォント名("MS Pゴシック","MS P明朝","MS ゴシック","MS 明朝")
    NonMsgVb6.MsgFontName = "MS Pゴシック"
    ' メッセージフォントサイズ
    NonMsgVb6.MsgFontSize = 20
    ' メッセージフォント太文字
    NonMsgVb6.MsgFontBold = False
    ' メッセージフォント斜体
    NonMsgVb6.MsgFontItalic = False
    ' メッセージフォント取消線
    NonMsgVb6.MsgFontStrikethru = False
    ' メッセージフォント下線
    NonMsgVb6.MsgFontUnderline = False
    ' メッセージ幅微調整1(0.9〜(1.02)〜1.1)
    NonMsgVb6.MsgWidthP1 = 1.02
    ' メッセージ幅微調整2(-50〜(+5.0)〜+50)
    NonMsgVb6.MsgWidthP2 = 5
    ' メッセージ高微調整1(0.9〜(1.02)〜1.1)
    NonMsgVb6.MsgHeightP1 = 1.02
    ' メッセージ高微調整2(-50〜(+5.0)〜+50)
    NonMsgVb6.MsgHeightP2 = 5

    ' ボタンフォント名("MS Pゴシック","MS P明朝","MS ゴシック","MS 明朝")
    NonMsgVb6.BtnFontName = "MS Pゴシック"
    ' ボタンフォントサイズ
    NonMsgVb6.BtnFontSize = 20
    ' ボタンフォント太文字
    NonMsgVb6.BtnFontBold = False
    ' ボタンフォント斜体
    NonMsgVb6.BtnFontItalic = False
    ' ボタンフォント取消線
    NonMsgVb6.BtnFontStrikethru = False
    ' ボタンフォント下線
    NonMsgVb6.BtnFontUnderline = False
    ' ボタン幅微調整1(0.9〜(1.02)〜1.1)
    NonMsgVb6.BtnWidthP1 = 1.02
    ' ボタン幅微調整2(-50〜(+5.0)〜+50)
    NonMsgVb6.BtnWidthP2 = 5
    ' ボタン高微調整1(0.9〜(1.02)〜1.1)
    NonMsgVb6.BtnHeightP1 = 1.02
    ' ボタン高微調整2(-50〜(+5.0)〜+50)
    NonMsgVb6.BtnHeightP2 = 5

    ' メッセージボックス表示位置
    ' CenterScreenまたはCenterParent
    NonMsgVb6.StartPosition = False

    ' NonMsgVb6有効
    NonMsgVb6.Enable = True
End Sub