DialogBoxParamA 関数 (winuser.h)

ダイアログ ボックス テンプレート リソースからモーダル ダイアログ ボックスを作成します。 ダイアログ ボックスを表示する前に、関数は、WM_INITDIALOG メッセージのlParam パラメーターとして、アプリケーション定義の値をダイアログ ボックス プロシージャに渡します。 アプリケーションでは、この値を使用してダイアログ ボックス コントロールを初期化できます。

構文

INT_PTR DialogBoxParamA(
  [in, optional] HINSTANCE hInstance,
  [in]           LPCSTR    lpTemplateName,
  [in, optional] HWND      hWndParent,
  [in, optional] DLGPROC   lpDialogFunc,
  [in]           LPARAM    dwInitParam
);

パラメーター

[in, optional] hInstance

種類: HINSTANCE

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

[in] lpTemplateName

種類: LPCTSTR

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

[in, optional] hWndParent

型: HWND

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

[in, optional] lpDialogFunc

種類: DLGPROC

ダイアログ ボックス プロシージャへのポインター。 ダイアログ ボックス プロシージャの詳細については、DialogProc に関するページをご覧ください。

[in] dwInitParam

型: LPARAM

WM_INITDIALOG メッセージの lParam パラメーターのダイアログ ボックスに渡す値。

戻り値

種類: INT_PTR

関数が成功した場合、戻り値は、ダイアログ ボックスの終了に使用される EndDialog 関数の呼び出しで指定された nResult パラメーターの値です。

hWndParent パラメーターが無効であるために関数が失敗した場合、戻り値は 0 です。 この関数は、以前のバージョンの Windows との互換性のために、この場合は 0 を返します。 関数が他の理由で失敗した場合、戻り値は –1 です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

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

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

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-dialogbox-l1-1-1 (Windows 8.1 で導入)

関連項目

概念

CreateWindowEx

ダイアログ ボックス

ダイアログ

DialogBoxIndirect

DialogBoxIndirectParam

DialogProc

EndDialog

MAKEINTRESOURCE

リファレンス

WM_INITDIALOG

WM_SETFONT