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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 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