パラメータ
hWnd
[入力]作成したいメッセージボックスのオーナーウィンドウのハンドルを指定する。
NULL を指定すると、オーナーウィンドウを持たないメッセージボックスが作成される。
lpText
[入力]表示したいメッセージを保持する、NULL で終わる文字列へのポインタを指定する。
lpCaption
[入力]ダイアログボックスのタイトルを保持する、NULL で終わる文字列へのポインタを指定する。
NULL を指定すると、既定のタイトル( 「エラー」)が表示される。
uType
[入力]メッセージボックスの内容と動作を指定する。次のフラググループの任意の組み合わせを指定する。
メッセージボックス内に表示したいボタンを指示するには、次の値のいずれかを指定する。
値
|
意味
|
MB_ABORTRETRYIGNORE |
メッセージボックスに[中止]、[再試行]、[無視]の各プッシュボタンを表示する。 |
MB_CANCELTRYCONTINUE
|
Windows 2000:メッセージボックスに[キャンセル]、[再実行]、[続行]の各プッシュボタンを表
示する。MB_ABORTRETRYIGNORE の代わりに、このメッセージボックスタイプを使う。
|
MB_HELP
|
Windows 95/98、Windows NT 4.0 以降:メッセージボックスに[ヘルプ]ボタンを追加する。ユーザー
が[ヘルプ]ボタンをクリックするか F1 キーを押すと、システムはオーナーへ WM_HELP メッセージを
送信する。
|
MB_OK |
メッセージボックスに[OK]プッシュボタンだけを表示する。これは既定のメッセージボックスタイプ。 |
MB_OKCANCEL |
メッセージボックスに[OK]、[キャンセル]の各プッシュボタンを表示する。 |
MB_RETRYCANCEL |
メッセージボックスに[再試行]、[キャンセル]の各プッシュボタンを表示する。 |
MB_YESNO |
メッセージボックスに[はい]、[いいえ]の各プッシュボタンを表示する。 |
MB_YESNOCANCEL |
メッセージボックスに[はい]、[いいえ]、[キャンセル]の各プッシュボタンを表示する。 |
メッセージボックス内にアイコンを表示するには、次の値のいずれかを指定する。
値
|
意味
|
MB_ICONEXCLAMATION ,
MB_ICONWARNING |
感嘆符(!)アイコンを表示する。
|
MB_ICONINFORMATION ,
MB_ICONASTERISK
|
丸の中に小文字の「i」が描かれたアイコンを表示する。
|
MB_ICONQUESTION |
疑問符(?)アイコンを表示する。 |
MB_ICONSTOP ,
MB_ICONERROR ,
MB_ICONHAND |
停止マークアイコンを表示する。
|
既定のプッシュボタンを表示するよう指示するには、次の値のいずれかを指定する。
値
|
意味
|
MB_DEFBUTTON1 |
最初のボタンを既定のプッシュボタンにする。
MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4
のいずれかが指定されていない限り、MB_DEFBUTTON1 が既定になる。。 |
MB_DEFBUTTON2 |
2 番目のボタンを既定のプッシュボタンにする。 |
MB_DEFBUTTON3 |
3 番目のボタンを既定のプッシュボタンにする。 |
MB_DEFBUTTON4 |
4 番目のボタンを既定のプッシュボタンにする。 |
ダイアログボックスのモーダル状態を指示するには、次の値のいずれかを指定する。
値
|
意味
|
MB_APPLMODAL
|
ユーザーは、メッセージボックスに応答しなければ、hWnd パラメータで指定されたウィンドウで作業を継
続できません。他のスレッドのウィンドウへ移動して作業することはできる。
アプリケーション内のウィンドウの階層にもよりますが、ユーザーは、同じスレッド内の他のウィンドウへ移
動できることがある。このメッセージボックスの親ウィンドウに対するすべての子ウィンドウ( メッセージ
ボックスの「兄弟」ウィンドウ)は、自動的に無効になるが、ポップアップウィンドウはこの限りではない。
MB_APPLMODAL は、MB_SYSTEMMODAL と MB_TASKMODAL のどちらも指定されていない場
合の既定値である。
|
MB_SYSTEMMODAL
|
メッセージボックスが WS_EX_TOPMOST スタイルを備えている以外は、MB_APPLMODAL と同じで
ある。ユーザーがすぐに対処する必要がある重大なエラー( たとえばメモリの不足)を通知するために、
システムモーダルのメッセージボックスを使う。ユーザーは、hWnd に関連付けられていないウィンドウを通
常の方法で操作できる。
|
MB_TASKMODAL
|
hWnd パラメータが NULL の場合、現在のスレッドに所属するすべてのトップレベルウィンドウが無効に
なること以外は、MB_APPLMODAL と同じである。呼び出し側のアプリケーションまたはライブラリが有効
なウィンドウハンドルを持っておらず、かつ他のスレッドを中断せずに現在のスレッドの他のウィンドウへの
入力を禁止したいときにこのフラグを使う。
|
これら以外のオプションの指示をするには、次の値を指定する。
値
|
意味
|
MB_DEFAULT_DESKTOP_ONLY
|
Windows NT/2000:対話型のウィンドウステーションで、システムが既定のデスクトップにのみメッセージボックスを表示すること以外は、MB_SERVICE_NOTIFICATION と同じで
ある。
Windows NT 4.0 以前:現在の入力デスクトップが既定のデスクトップではない場合、関数は失敗する。
Windows 2000:現在の入力デスクトップが既定のデスクトップではない場合、ユーザーが既定のデスクトップへ切り替えるまで、MessageBox は制御を返さない。
Windows 95/98:このフラグは何もしない。
|
MB_RIGHT |
テキストを右寄せする。 |
MB_RTLREADING
|
メッセージとキャプションの各テキストを右から左へ表示する。ヘブライ語やアラビア語をサポートしているシステムで有効である。
|
MB_SETFOREGROUND
|
メッセージとキャプションの各テキストを右から左へ表示する。ヘブライ語やアラビア語をサポートしているシステムで有効である。
|
MB_TOPMOST WS_EX_TOPMOST |
ウィンドウスタイルを指定し、メッセージボックスを最前面ウィンドウとして作成する。 |
MB_SERVICE_NOTIFICATION
|
Windows NT/2000:呼び出し側がユーザーへイベントを通知するサービスである場合に指定す
る。どのユーザーもコンピュータにログオンしていない場合も、この関数は現在のアクティブなデスクトップにメッセージボックスを表示する。
Terminal Services:呼び出し側のスレッドが偽装トークンを備えている場合、この関数はメッセージボックスを、偽装トークン内で指定されているセッションへリダイレクトする。
このフラグをセットするときは、hWnd パラメータに NULL を指定しなければならない。その結果、hWnd
に対応するデスクトップではなく、他のデスクトップにメッセージボックスを表示できる。
|
MB_SERVICE_NOTIFICATION_NT3X
|
Windows NT/2000:この値は、Windows NT 3.51 で MB_SERVICE_NOTIFICATION と
して定義された値に対応する。
|
戻り値
関数が成功すると、次の値のいずれかが返る。
値
|
意味
|
IDABORT |
[中止]ボタンが選択された。 |
IDCANCEL |
[キャンセル]ボタンが選択された。 |
IDCONTINUE |
[続行]ボタンが選択された。 |
IDIGNORE |
[無視]ボタンが選択された。 |
IDNO |
[いいえ]ボタンが選択された。 |
IDOK |
[OK]ボタンが選択された。 |
IDRETRY |
[再試行]ボタンが選択された。 |
IDTRYAGAIN |
[再実行]ボタンが選択された。 |
IDYES |
[はい]ボタンが選択された。 |
メッセージボックスに[キャンセル]ボタンが用意されている状態で、ユーザーが Esc
キーを押すか[キャンセル]ボタンを選択すると
IDCANCEL 値が返る。メッセージボックスに[キャンセル]ボタンがない場合、Esc キーを押しても何も起こらない。
関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。 |