
メッセージウィンドウにキャンセルボタンがある場合、
ESCキーまたはキャンセルボタンが押された時に、メッセージボックス関数はIDCANCELを返します。
メッセージボックス関数の戻り値コード
| 定数 | 値 | 詳細 |
|---|---|---|
| IDOK | 1 | OKボタンが押された |
| IDCANCEL | 2 | キャンセルボタンが押された |
| IDABORT | 3 | 中止ボタンが押された |
| IDRETRY | 4 | 再試行ボタンが押された |
| IDIGNORE | 5 | 無視ボタンが押された |
| IDYES | 6 | はいボタンが押された |
| IDNO | 7 | いいえボタンが押された |
| IDTRYAGAIN | 10 | 再実行ボタンが押された |
| IDCONTINUE | 11 | 続行ボタンが押された |
MessageBox()関数の主なフラグは、内容とダイアログウインドウ動作を定義します。
このフラグは他グループのフラグと組み合わせる事が出来ます。
| 定数 | 値 | 詳細 |
|---|---|---|
| MB_OK | 0x00000000 | メッセージウインドウのボタンは1つです。 [OK]ボタンのみ。 |
| MB_OKCANCEL | 0x00000001 | メッセージウインドウのボタンは2つです。 [OK] [キャンセル]ボタン |
| MB_ABORTRETRYIGNORE | 0x00000002 | メッセージウインドウのボタンは3つです。 [中止] [再試行] [無視]ボタン |
| MB_YESNOCANCEL | 0x00000003 | メッセージウインドウのボタンは3つです。 [はい] [いいえ] [キャンセル]ボタン |
| MB_YESNO | 0x00000004 | メッセージウインドウのボタンは2つです。 [はい] [いいえ]ボタン |
| MB_RETRYCANCEL | 0x00000005 | メッセージウインドウのボタンは2つです。 [再試行] [キャンセル]ボタン |
| MB_CANCELTRYCONTINUE | 0x00000006 | メッセージウインドウのボタンは3つです。 [キャンセル] [再実行] [続行]ボタン |
メッセージウインドウにアイコンを表示する為には、追加フラグ指定が必要です。
| 定数 | 値 | 詳細 |
|---|---|---|
| MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND | 0x00000010 | ストップアイコン |
| MB_ICONQUESTION | 0x00000020 | クエスチョンアイコン |
| MB_ICONEXCLAMATION, MB_ICONWARNING | 0x00000030 | 感嘆符/警告アイコン |
| MB_ICONINFORMATION, MB_ICONASTERISK | 0x00000040 | インフォメーションアイコン |
デフォルトボタンは次のフラグで定義されています。
メッセージウインドウが表示された時に指定されたボタンがフォーカスされます。
| 定数 | 値 | 詳細 |
|---|---|---|
| MB_DEFBUTTON1 | 0x00000000 | 最初のボタンをデフォルト |
| MB_DEFBUTTON2 | 0x00000100 | 2番目のボタンをデフォルト |
| MB_DEFBUTTON3 | 0x00000200 | 3番目のボタンをデフォルト |
| MB_DEFBUTTON4 | 0x00000300 | 4番目のボタンをデフォルト |
サンプルソース:
int msgret;
msgret = MessageBox("テストメッセージ",
"ヘッダ",
MB_ICONINFORMATION | MB_YESNOCANCEL | MB_DEFBUTTON2 );
if ( msgret == IDYES ) {
Print("はい");
} else if ( msgret == IDNO ) {
Print("いいえ");
} else if ( msgret == IDCANCEL ) {
Print("キャンセル");
} else {
Print("他");
}