共用方式為


CreateDialogParamW 函式 (winuser.h)

從對話框範本資源建立無模式對話方塊。 在顯示對話方塊之前,函式會將應用程式定義值傳遞至對話框程式,做為 WM_INITDIALOG 訊息的 lParam 參數。 應用程式可以使用此值來初始化對話框控制件。

語法

HWND CreateDialogParamW(
  [in, optional] HINSTANCE hInstance,
  [in]           LPCWSTR   lpTemplateName,
  [in, optional] HWND      hWndParent,
  [in, optional] DLGPROC   lpDialogFunc,
  [in]           LPARAM    dwInitParam
);

參數

[in, optional] hInstance

類型:HINSTANCE

包含對話框範本之模組的句柄。 如果此參數為 NULL,則會使用目前的可執行檔。

[in] lpTemplateName

類型:LPCTSTR

對話框範本。 這個參數是 Null 終止字元字串的指標,指定對話框範本的名稱,或是指定對話框範本之資源識別碼的整數值。 如果參數指定資源標識元,則其高序字必須是零,低序字必須包含標識符。 您可以使用 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 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winuser.h (包括 Windows.h)
連結庫 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