MessageBox(A)

メッセージボックスを表示します。メッセージボックスにはアプリケーション定義のメッセージとキャプション文字列、および定義済みアイコンと押しボタンが表示されます。

int MessageBoxA(
    HWND   hWnd,       // オーナーウィンドウのハンドル
    PCTSTR pszText,    // 表示文字列
    PCTSTR pszCaption, // キャプションバーの表示文字列
    UINT   uType       // メッセージボックスのタイプ
);

USER32.DLL

引数

hWnd

オーナーウィンドウのハンドルを指定します。0 (NULL) を指定した場合、メッセージボックスはオーナーウィンドウを持ちません。

pszText

メッセージボックス中に表示する文字列へのポインタを指定します。

pszCaption

メッセージボックスのキャプション(タイトル)バーに表示する文字列へのポインタを指定します。0 (NULL) を指定すると、デフォルトのキャプション(“エラー”)が表示されます。

uType

表示するボタンの種類を指定します。これには以下の値のいずれかを指定できます。

0x00000000 (MB_OK)
[OK]
0x00000001 (MB_OKCANCEL)
[OK][キャンセル]
0x00000002 (MB_ABORTRETRYIGNORE)
[中止][再試行][無視]
0x00000003 (MB_YESNOCANCEL)
[はい][いいえ][キャンセル]
0x00000004 (MB_YESNO)
[はい][いいえ]
0x00000005 (MB_RETRYCANCEL)
[再試行][キャンセル]
0x00000006 (MB_CANCELTRYCONTINUE)
Windows 2000/XP: [キャンセル][もう一度][継続]
0x00004000 (MB_HELP)
Windows 9x/NT4.0 以降: [ヘルプ]

このボタンまたは [F1] キーが押されると、オーナーウィンドウに WM_HELP メッセージが送られます。

さらにアイコンフラグとして以下の値のいずれかを組み合わせて指定することができます。

0x00000010 (MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND)
停止のアイコン
0x00000020 (MB_ICONQUESTION)
疑問符のアイコン
0x00000030 (MB_ICONEXCLAMATION, MB_ICONWARNING)
感嘆符のアイコン
0x00000040 (MB_ICONINFORMATION, MB_ICONASTERISK)
吹き出しに「i」のアイコン

デフォルトボタンを指定するのに、以下のいずれかの値を組み合わせることができます。これらのいずれも指定しなかった場合には、最初のボタンがデフォルトになります。

0x00000000 (MB_DEFBUTTON1)
最初のボタンをデフォルトにする
0x00000100 (MB_DEFBUTTON2)
2番目のボタンをデフォルトにする
0x00000200 (MB_DEFBUTTON3)
3番目のボタンをデフォルトにする
0x00000300 (MB_DEFBUTTON4)
4番目のボタンをデフォルトにする

他にも以下の値を組み合わせることができます。

0x00010000 (MB_SETFOREGROUND)
フォアグラウンドにする
0x00040000 (MB_TOPMOST)
最前面ウィンドウ(他のウィンドウに隠れない)にする

戻り値

成功すると、押されたボタンによって、以下のいずれかの値が返ります。

1 (IDOK)
[OK]
2 (IDCANCEL)
[キャンセル]
3 (IDABORT)
[中止]
4 (IDRETRY)
[再試行]
5 (IDIGNORE)
[無視]
6 (IDYES)
[はい]
7 (IDNO)
[いいえ]
10 (IDTRYAGAIN)
[もう一度]
11 (IDCONTINUE)
[継続]

キャンセルボタンが表示されているときに[ESC]キーまたは右上の[×]ボタンを押すと、キャンセルボタンが押されたと判断されます。

関数が失敗すると0が返ります。拡張エラー情報を取得するには、GetLastError関数を使います。

対応情報

Windows 95 以降 / Windows NT 3.1 以降