さて、前回作ったプログラムはメッセージボックスを表示するプログラムでした。
実行すると以下のようなメッセージボックスが表示されます。
今回は前回作ったこのプログラムを解説します。

前回のソースコードは↓でした。
以下、順番に解説していきます。
|
| |
| hInstance | アプリケーションのインスタンスハンドルです。 |
| hPrevInstance | アプリケーションの前のインスタンスのハンドルです。Win32 アプリケーションでは常に NULL です。 |
| lpCmdLine | コマンドラインが格納された文字列へのポインタです。プログラム名は含みません。コマンドライン全体は、GetCommandLine 関数で取り出します。 |
| nCmdShow | ウィンドウをどのように表示するかの指定が入ります。 |
| 戻り値 | 関数が WM_QUIT メッセージを受け取って終了したときは、メッセージの wParam パラメータが持つ終了コードを返してください。 関数がメッセージループに入る前に終了したときは、0 を返してください。 |
| |
| hWnd | 作成するメッセージボックスのオーナーウィンドウを指定します。NULL を指定すると、オーナーウィンドウを持たないメッセージボックスが作成されます。 |
| lpText | 表示されるメッセージを文字列で指定します。 |
| lpCaption | 表示されるタイトルを文字列で指定します。NULLの場合"エラー"と表示されます。 |
| uType | メッセージボックスの内容と動作を指定します。フラグを組み合わせて指定します。 |
| ボタンのフラグ | |
|---|---|
| フラグ | 意味 |
| MB_ABORTRETRYIGNORE | [ 中止 ]、[ 再試行 ]、[ 無視 ] プッシュボタンを表示します。 |
| 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 | 2 番目のボタンをデフォルトプッシュボタンにします。 |
| MB_DEFBUTTON3 | 3 番目のボタンをデフォルトプッシュボタンにします。 |
| MB_DEFBUTTON4 | 4 番目のボタンをデフォルトプッシュボタンにします。 |
| 動作形態のフラグ | |
|---|---|
| フラグ | 意味 |
| MB_APPLMODAL | ユーザーは、メッセージボックスに応答しなければ、hWnd パラメータで指定されたウィンドウで作業を継続することはできません。ほかのアプリケーションのウィンドウに移動して作業することはできます。デフォルトです。 |
| MB_SYSTEMMODAL | メッセージボックスが WS_EX_TOPMOST スタイルを持つ以外は、MB_APPLMODAL と同じです。ユーザーがすぐに気付く必要があるような重大なエラーを通知するために使用します。 |
| MB_TASKMODAL | hWnd パラメータが NULL のときに現在のタスクに属するすべてのトップレベルウィンドウが無効になることを除いて、MB_APPLMODAL と同じです。呼び出し側のアプリケーション (またはライブラリ) が有効なウィンドウのハンドルを持っておらず、かつ、ほかのアプリケーションを中断せずに現在のアプリケーションのほかのウィンドウへの入力を禁止したいときに使用します。 |
| その他のフラグ | |
|---|---|
| フラグ | 意味 |
| MB_DEFAULT_DESKTOP_ONLY | 現在入力を受け取るデスクトップは、デフォルトのデスクトップでなければなりません。それ以外の場合には、関数が失敗します。デフォルトのデスクトップは、ユーザーがログオンした後でアプリケーションが動作するデスクトップです。 |
| MB_HELP | [ヘルプ]プッシュボタンを追加します。ユーザーがヘルプボタンを選択したり F1 キーを押したりすると、ヘルプイベントが生成されます。 |
| MB_RIGHT | テキストを右寄せします。 |
| MB_RTLREADING | 右から左へテキストを表示します。ヘブライ語やアラビア語をサポートしているシステムで有効です。 |
| MB_SETFOREGROUND | メッセージボックスをフォアグラウンドウィンドウにします。Windows システムは、内部で SetForegroundWindow 関数を呼び出します。 |
| MB_TOPMOST | メッセージボックスを最前面ウィンドウ (WS_EX_TOPMOST) で作成します。 |
| MB_SERVICE_NOTIFICATION | Windows NT 専用です。呼び出し側がユーザーにイベントを通知するサービスのときに指定します。ユーザーがログオンしていないときも、現在のアクティブなデスクトップにメッセージボックスを表示します。このフラグをセットするときは、hWnd パラメータに NULL を指定してください。 |
| MB_SERVICE_NOTIFICATION_NT3X | Windows NT 専用です。この値は、Windows NT バージョン 3.51 で MB_SERVICE_NOTIFICATION として定義された値と同じです。 |
| MessageBoxの戻り値 | |
|---|---|
| 値 | 意味 |
| IDABORT | [中止]ボタンが選択されました。 |
| IDCANCEL | [キャンセル]ボタンが選択されました。 |
| IDIGNORE | [無視]ボタンが選択されました。 |
| IDNO | [いいえ]ボタンが選択されました。 |
| IDOK | [OK]ボタンが選択されました。 |
| IDRETRY | [再試行]ボタンが選択されました。 |
| IDYES | [はい]ボタンが選択されました。 |
| [キャンセル]ボタンがあるときに[Esc]キーを押すと、IDCANCEL 値が返ります。 | |
|