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

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

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

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

関連項目

概念

CreateDialog

CreateWindowEx

ダイアログ ボックス

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

DialogProc

EndDialog

MAKEINTRESOURCE

リファレンス

WM_INITDIALOG

WM_SETFONT