MessageBox

機能
メッセージボックスを表示
Declare Function MessageBox Lib "user32.dll" _
Alias "MessageBoxA" _
(ByVal hWnd As Long, ByVal lpText As String, _
ByVal lpCaption As String, ByVal uType As Long) As Long
Declare Function MessageBox Lib "user32.dll" _
Alias "MessageBoxA" _
(ByVal hWnd As Integer, ByVal lpText As String, _
ByVal lpCaption As String, ByVal uType As Integer) As Integer

int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
引数
hWnd

メッセージボックスの親ウィンドウ
lpText
メッセージの文字列
lpCaption
キャプションタイトル
uType
メッセージボックスを指定する定数の組み合わせ
戻り値
正常終了のとき  押されたボタンの定数
エラーのとき  0
uTypeの定数

<ボタンの指定>
MB_ABORTRETRYINGNORE = &H2     [中止][再試行][無視]の三つのボタン
MB_OK = &H0                    [了解]のボタン
MB_CANCEL = &H1                [了解]と[取消]のボタン
MB_RETRYCANCEL = &H5           [再試行]と[取消]のボタン
MB_YESNO = &H4                 [はい]と[いいえ]のボタン
MB_YESNOCANCEL = &H3           [はい][いいえ][取消]のボタン

<アイコンの指定>
MB_ICONEXCLAMATION = &H30      [!]アイコン
MB_ICONINFOMATION = &H40       [i]アイコン
MB_ICONQUESTION = &H20         [?]アイコン
MB_ICONHAND = &H10             [ストップ]アイコン

<デフォルトボタンの指定>
MB_DEFBUTTON1 = &H0            最初のボタンがデフォルト
MB_DEFBUTTON2 = &H100          二番目のボタンがデフォルト
MB_DEFBUTTON3 = &H200          三番目のボタンがデフォルト
MB_DEFBUTTON4 = &H300          四番目のボタンがデフォルト

<モードの指定>
MB_APPLIMODAL = &H0            メッセージボックスの親ウィンドウ
                                以外のウィンドウの操作は可能
MB_SYSTEMMODAL = &H1000        システムモーダルな状態
MB_TASKMODAL = &H2000          タスクモーダル

<その他のオプションの指定>
MB_DEFAULT_DESKTOP_ONLY = &H20000
                                入力フォーカスを持つデスクトップが
                                デフォルトのデスクトップでない場合は
                                メッセージボックスを作成しない
MB_HELP = &H4000               ヘルプボタンを追加
MB_RIGHT = &H80000             テキストを右詰にする
MB_RTLREADING = &H100000       テキストを右から表示する
MB_SETFORGROUND = &H10000      メッセージボックスをフォアグラウンドを持つ
                                ウィンドウにする
MB_TOPMOST = &H40000           常に手前に表示

戻り値の定数

IDABORT = 3                    [中止]ボタンが押された
IDCANCEL = 2                   [取消]ボタンが押された
IDIGNORE = 5                   [無視]ボタンが押された
IDNO = 7                       [いいえ]ボタンが押された
IDOK = 1                       [OK]ボタンが押された
IDRETRY = 4                    [再試行]ボタンが押された
IDYES = 6                      [はい]ボタンがおされた
サンプル
ダウンロード(MessageBox.lzh 3.50KB)

Private Sub Command1_Click()
Dim uType As Long, t(5) As Long
Dim rc As Long
Dim Caption As String, message As String
With Me
'各チェックボックスの値を調べる
'ボタン
For a = 0 To 5
    If .Option1(a).Value = True Then
        Select Case a
            Case 0: t(1) = MB_ABORTRETRYINGNORE
            Case 1: t(1) = MB_OK
            Case 2: t(1) = MB_CANCEL
            Case 3: t(1) = MB_RETRYCANCEL
            Case 4: t(1) = MB_YESNO
            Case 5: t(1) = MB_YESNOCANCEL
        End Select
        Exit For
    End If
Next
'アイコン
For a = 0 To 3
    If .Option2(a).Value = True Then
        Select Case a
            Case 0: t(2) = MB_ICONEXCLAMATION
            Case 1: t(2) = MB_ICONINFOMATION
            Case 2: t(2) = MB_ICONQUESTION
            Case 3: t(2) = MB_ICONHAND
        End Select
        Exit For
    End If
Next
'デフォルトボタン
For a = 0 To 3
    If .Option3(a).Value = True Then
        Select Case a
            Case 0: t(3) = MB_DEFBUTTON1
            Case 1: t(3) = MB_DEFBUTTON2
            Case 2: t(3) = MB_DEFBUTTON3
            Case 3: t(3) = MB_DEFBUTTON4
        End Select
        Exit For
    End If
Next
'モード
For a = 0 To 2
    If .Option4(a).Value = True Then
        Select Case a
            Case 0: t(4) = MB_APPMODAL
            Case 1: t(4) = MB_SYSTEMMODAL
            Case 2: t(4) = MB_TASKMODAL
        End Select
        Exit For
    End If
Next
'オプション
For a = 0 To 5
    If .Option5(a).Value = True Then
        Select Case a
            Case 0: t(5) = MB_DEFAULT_DESKTOP_ONLY
            Case 1: t(5) = MB_HELP
            Case 2: t(5) = MB_RIGHT
            Case 3: t(5) = MB_RTLREADING
            Case 4: t(5) = MB_SETFORGROUND
            Case 5: t(5) = MB_TOPMOST
            Case 6: t(5) = &H0
        End Select
        Exit For
    End If
Next
For a = 1 To 5
    uType = uType Or t(a)
Next
Debug.Print Hex(uType)
Caption = .Text1.Text
message = .Text2.Text
'関数の実行
rc = MessageBox(Me.hWnd, message, Caption, uType)
End With
End Sub