Share via


CreateDialogA 宏 (winuser.h)

從對話框範本資源建立無模式對話方塊。 CreateDialog 宏會使用 CreateDialogParam 函式。

語法

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

參數

[in, optional] hInstance

類型: HINSTANCE

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

[in] lpName

類型: LPCTSTR

對話框範本。 這個參數是指定對話框範本名稱的 Null 終止字元字串指標,或是指定對話框範本之資源識別碼的整數值。 如果參數指定資源標識符,則其高序字必須是零,而且其低序字必須包含標識符。 您可以使用 MAKEINTRESOURCE 宏來建立此值。

[in, optional] hWndParent

類型: HWND

擁有對話框之視窗的句柄。

[in, optional] lpDialogFunc

類型: DLGPROC

對話框程式的指標。 如需對話框程式的詳細資訊,請參閱 DialogProc

傳回值

備註

CreateDialog 函式會使用 CreateWindowEx 函式來建立對話框。 如果範本指定DS_SETFONT或DS_SHELLFONT) 樣式,則 CreateDialog 會將WM_INITDIALOG訊息 (和WM_SETFONT訊息傳送至對話框程式。 如果範本指定 WS_VISIBLE 樣式,函式會顯示對話方塊。 最後, CreateDialog 會將視窗句柄傳回對話方塊。

CreateDialog 傳回之後,如果尚未使用 ShowWindow 函式) 顯示對話框,應用程式就會顯示對話框 (。 應用程式會使用 DestroyWindow 函式終結對話框。 若要支援鍵盤流覽和其他對話方塊功能,對話框的訊息循環必須呼叫 IsDialogMessage函 式。

範例

如需範例,請參閱 建立無模式對話框

注意

winuser.h 標頭會將 CreateDialog 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll

另請參閱

概念

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

CreateWindowEx

DestroyWindow

對話框

DialogBox

DialogProc

IsDialogMessage

參考

ShowWindow

WM_INITDIALOG

WM_SETFONT