MessageBoxW 関数 (winuser.h)
システム アイコン、一連のボタン、および状態やエラー情報などのアプリケーション固有の簡単なメッセージを含むモーダル ダイアログ ボックスを表示します。 メッセージ ボックスは、ユーザーがクリックしたボタンを示す整数値を返します。
構文
int MessageBoxW(
[in, optional] HWND hWnd,
[in, optional] LPCWSTR lpText,
[in, optional] LPCWSTR lpCaption,
[in] UINT uType
);
パラメーター
[in, optional] hWnd
型: HWND
作成するメッセージ ボックスの所有者ウィンドウへのハンドル。 このパラメーターが NULL
[in, optional] lpText
型: LPCTSTR
表示するメッセージ。 文字列が複数の行で構成されている場合は、改行文字または改行文字を使用して各行を区切ることができます。
[in, optional] lpCaption
型: LPCTSTR
ダイアログ ボックスのタイトル。 このパラメーターが NULL
[in] uType
型: UINT
ダイアログ ボックスの内容と動作。 このパラメーターには、次のフラグ グループのフラグの組み合わせを指定できます。
メッセージ ボックスに表示されるボタンを示すには、次のいずれかの値を指定します。
価値 | 意味 |
---|---|
|
メッセージ ボックスには、Abort、Retry、Ignoreの 3 つのプッシュ ボタンがあります。 |
|
メッセージ ボックスには、Cancel、Try Again、Continueの 3 つのプッシュ ボタンがあります。 MB_ABORTRETRYIGNOREの代わりに、このメッセージ ボックスの種類を使用します。 |
|
ヘルプ ボタンをメッセージ ボックスに追加します。 ユーザーが [ヘルプ] ボタンをクリックするか、F1 キーを押すと、WM_HELP メッセージが所有者に送信されます。 |
|
メッセージ ボックスには、1 つのプッシュ ボタンが含まれています。 OK。 これが既定値です。 |
|
メッセージ ボックスには、 |
|
メッセージ ボックスには、 |
|
メッセージ ボックスには、[はい] と [なし] の 2 つのプッシュ ボタンが含まれています。 |
|
メッセージ ボックスには、3 つのプッシュ ボタンが含まれています:はい、なし、キャンセル。 |
メッセージ ボックスにアイコンを表示するには、次のいずれかの値を指定します。
既定のボタンを指定するには、次のいずれかの値を指定します。
ダイアログ ボックスのモダリティを示すには、次のいずれかの値を指定します。
その他のオプションを指定するには、次の 1 つ以上の値を使用します。
価値 | 意味 |
---|---|
|
対話型ウィンドウ ステーションのデスクトップと同じです。 詳細については、「ウィンドウ ステーションのを 現在の入力デスクトップが既定のデスクトップでない場合、MessageBox は、ユーザーが既定のデスクトップに切り替わるまで戻りません。 |
|
テキストは右揃えです。 |
|
ヘブライ語とアラビア語のシステムで右から左への読み取り順序を使用して、メッセージとキャプションのテキストを表示します。 |
|
メッセージ ボックスがフォアグラウンド ウィンドウになります。 内部的には、システムはメッセージ ボックスの SetForegroundWindow 関数を呼び出します。 |
|
メッセージ ボックスは、WS_EX_TOPMOST ウィンドウ スタイルで作成されます。 |
|
呼び出し元は、イベントをユーザーに通知するサービスです。 この関数は、コンピューターにログオンしているユーザーがいない場合でも、現在アクティブなデスクトップにメッセージ ボックスを表示します。
ターミナル サービス: 呼び出し元のスレッドに偽装トークンがある場合、関数は、偽装トークンで指定されたセッションにメッセージ ボックスを転送します。 このフラグが設定されている場合、 このフラグの使用に関するセキュリティに関する考慮事項については、「対話型サービスの |
戻り値
型: int
メッセージ ボックスに [キャンセル] ボタンがある場合は、esc キーを押すか、[キャンセル] ボタンが選択されている場合、IDCANCEL 値を返します。 メッセージ ボックスに [キャンセル] ボタンが
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
関数が成功した場合、戻り値は次のいずれかのメニュー項目値になります。
戻りコード/値 | 形容 |
---|---|
|
[中止] ボタンが選択されました。 |
|
[キャンセル] ボタンが選択されました。 |
|
[続行] ボタンが選択されました。 |
|
[ 無視] ボタンが選択されました。 |
|
[ なし] ボタンが選択されました。 |
|
[OK] ボタンが選択されました。 |
|
[再試行] ボタンが選択されました。 |
|
再試行 ボタンが選択されました。 |
|
[はい] ボタンが選択されました。 |
備考
次のシステム アイコンは、uType パラメーターを対応するフラグ値に設定することで、メッセージ ボックスで使用できます。
アイコン | フラグ値 |
---|---|
MB_ICONHAND、MB_ICONSTOP、およびMB_ICONERRORの |
MB_ICONHAND、MB_ICONSTOP、または MB_ICONERROR |
MB_ICONQUESTIONの |
MB_ICONQUESTION |
MB_ICONEXCLAMATIONとMB_ICONWARNINGの |
MB_ICONEXCLAMATION または MB_ICONWARNING |
MB_ICONASTERISKとMB_ICONINFORMATIONの |
MB_ICONASTERISK または MB_ICONINFORMATION |
Unicode 書式設定文字 U+200F で表される 2 つの右から左のマーク (RLM) を追加すると、MessageBox 表示文字列の先頭に MessageBox の表示文字列が解釈され、MessageBox の読み取り順序が右から左 (RTL) としてレンダリングされます。
システム モーダル メッセージ ボックスを使用して、システムがメモリ不足であることを示す場合、リソースの読み込み試行が失敗する可能性があるため、lpText および lpCaption パラメーターが指す文字列をリソース ファイルから取得しないでください。
ダイアログ ボックスが存在する間にメッセージ ボックスを作成する場合は、hWnd パラメーターとしてダイアログ ボックスへのハンドルを使用します。 hWnd パラメーターは、ダイアログ ボックス内のコントロールなどの子ウィンドウを識別しないでください。
例
次の例では、エラー条件が発生した後にユーザーにアクションを求めるメッセージ ボックスがアプリケーションに表示されます。 メッセージ ボックスには、エラー条件とその解決方法を説明するメッセージが表示されます。 MB_CANCELTRYCONTINUE スタイルは、MessageBox を指示して、ユーザーが続行方法を選択できる 3 つのボタンを提供します。 MB_DEFBUTTON2 スタイルは、メッセージ ボックスの 2 番目のボタン (この場合は [再試行] ボタン) に既定のフォーカスを設定します。
int DisplayResourceNAMessageBox()
{
int msgboxID = MessageBox(
NULL,
(LPCWSTR)L"Resource not available\nDo you want to try again?",
(LPCWSTR)L"Account Details",
MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
);
switch (msgboxID)
{
case IDCANCEL:
// TODO: add code
break;
case IDTRYAGAIN:
// TODO: add code
break;
case IDCONTINUE:
// TODO: add code
break;
}
return msgboxID;
}
次の図は、前のコード例からの出力を示しています。
別のメッセージ ボックスの例については、「メッセージ ボックスの表示
手記
winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MessageBox を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winuser.h (Windows.h を含む) |
ライブラリ | User32.lib |
DLL | User32.dll |
API セットの | ext-ms-win-ntuser-dialogbox-l1-1-0 (Windows 8 で導入) |
関連項目
概念
その他のリソース を
リファレンス
SetForegroundWindow の