CreateDialogParamA 関数 (winuser.h)

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

構文

HWND CreateDialogParamA(
  [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 パラメーターのダイアログ ボックス プロシージャに渡される値。

戻り値

型: HWND

関数が成功した場合、戻り値はダイアログ ボックスへのウィンドウ ハンドルです。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

CreateDialogParam 関数は、CreateWindowEx 関数を使用してダイアログ ボックスを作成します。 その後、CreateDialogParam、WM_INITDIALOG メッセージ (およびテンプレートが DS_SETFONTまたはDS_SHELLFONT スタイルを指定している場合は WM_SETFONT メッセージ) をダイアログ ボックス プロシージャに送信します。 テンプレートで WS_VISIBLE スタイルが指定されている場合、この関数はダイアログ ボックスを表示します。 最後に、 CreateDialogParam はダイアログ ボックスのウィンドウ ハンドルを返します。

CreateDialogParam が返されると、ShowWindow 関数を使用してダイアログ ボックスが表示されます (まだ表示されていない場合)。 アプリケーションは DestroyWindow 関数を使用してダイアログ ボックスを破棄します。 キーボード ナビゲーションやその他のダイアログ ボックス機能をサポートするには、ダイアログ ボックスのメッセージ ループで IsDialogMessage 関数を呼び出す必要があります。

注意

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

要件

要件
サポートされている最小のクライアント 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-0 (Windows 8で導入)

関連項目

概念

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateWindowEx

DestroyWindow

ダイアログ ボックス

DialogProc

IsDialogMessage

MAKEINTRESOURCE

リファレンス

Showwindow

WM_INITDIALOG

WM_SETFONT