次の方法で共有


CreateDialogW マクロ (winuser.h)

ダイアログ ボックス テンプレート リソースからモードレス ダイアログ ボックスを作成します。 CreateDialog マクロは、CreateDialogParam 関数を使用します。

構文

void CreateDialogW(
  [in, optional]  hInstance,
  [in]            lpName,
  [in, optional]  hWndParent,
  [in, optional]  lpDialogFunc
);

パラメーター

[in, optional] hInstance

型: HINSTANCE

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

[in] lpName

型: LPCTSTR

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

[in, optional] hWndParent

型: HWND

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

[in, optional] lpDialogFunc

型: DLGPROC

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

戻り値

何一つ

備考

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

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

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

手記

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

必要条件

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

関連項目

概念

CreateDialogIndirect の

CreateDialogIndirectParam の

CreateDialogParam の

CreateWindowEx の

DestroyWindow の

ダイアログ ボックス

DialogBox

DialogProc

IsDialogMessage の

リファレンス

ShowWindow の

WM_INITDIALOG

WM_SETFONT