DialogBoxA マクロ (winuser.h)

ダイアログ ボックス テンプレート リソースからモーダル ダイアログ ボックスを作成します。 DialogBox は、指定されたコールバック関数が、EndDialog 関数を呼び出してモーダル ダイアログ ボックスを終了するまで制御を返しません。

DialogBox は、DialogBoxParam 関数の呼び出しとして実装されます。

構文

void DialogBoxA(
  [in, optional] hInstance,
  [in]           lpTemplate,
  [in, optional] hWndParent,
  [in, optional] lpDialogFunc
);

パラメーター

[in, optional] hInstance

型: HINSTANCE

ダイアログ ボックス テンプレートを含むモジュールのハンドル。 このパラメーターが NULL の場合は、現在の実行可能ファイルが使用されます。

[in] lpTemplate

型: LPCTSTR

ダイアログ ボックス テンプレート。 このパラメーターは、ダイアログ ボックス テンプレートの名前を指定する null で終わる文字列へのポインターか、ダイアログ ボックス テンプレートのリソース識別子を指定する整数値のいずれかです。 パラメーターでリソース識別子を指定する場合、上位ワードは 0 で、下位ワードには識別子を含める必要があります。 MAKEINTRESOURCE マクロを使用して、この値を作成できます。

[in, optional] hWndParent

型: HWND

ダイアログ ボックスを所有するウィンドウへのハンドル。

[in, optional] lpDialogFunc

型: DLGPROC

ダイアログ ボックス プロシージャへのポインター。 ダイアログ ボックスプロシージャの詳細については、「DialogProcを参照してください。

戻り値

何一つ

備考

DialogBox マクロでは、CreateWindowEx 関数を使用してダイアログ ボックスを作成します。 DialogBox、ダイアログ ボックス プロシージャに WM_INITDIALOG メッセージ (およびテンプレートで DS_SETFONT またはDS_SHELLFONT スタイルが指定されている場合は WM_SETFONT メッセージ) を送信します。 この関数は、(テンプレートが WS_VISIBLE スタイルを指定しているかどうかに関係なく) ダイアログ ボックスを表示し、所有者ウィンドウを無効にし、ダイアログ ボックスのメッセージを取得してディスパッチするための独自のメッセージ ループを開始します。

ダイアログ ボックス プロシージャが EndDialog 関数を呼び出すと、ダイアログ ボックス ダイアログ ボックスが破棄され、メッセージ ループが終了し、所有者ウィンドウが有効になり (以前に有効になっている場合)、ダイアログ ボックス プロシージャで指定された nResult パラメーター EndDialogが返されます。

例

例については、「モーダル ダイアログ ボックスの作成」を参照してください。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DialogBox を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll

関連項目

概念

CreateDialog の

CreateWindowEx の

ダイアログ ボックス

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

DialogProc

EndDialog の

MAKEINTRESOURCE を する

リファレンス

WM_INITDIALOG

WM_SETFONT