DialogBoxParamA 函式 (winuser.h)
從對話框範本資源建立強制響應對話方塊。 在顯示對話方塊之前,函式會將應用程式定義的值傳遞至對話框程式,作為WM_INITDIALOG訊息的 lParam 參數。 應用程式可以使用此值來初始化對話框控制件。
語法
INT_PTR DialogBoxParamA(
[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 終止字元字串的指標,或是指定對話框範本之資源識別碼的整數值。 如果參數指定資源標識元,則其高序字必須是零,且其低序字必須包含標識符。 您可以使用 MAKEINTRESOURCE 宏來建立此值。
[in, optional] hWndParent
類型: HWND
擁有對話框之視窗的句柄。
[in, optional] lpDialogFunc
類型: DLGPROC
對話框程式的指標。 如需對話框程式的詳細資訊,請參閱 DialogProc。
[in] dwInitParam
類型: LPARAM
要傳遞至WM_INITDIALOG訊息之 lParam 參數中對話框的值。
傳回值
類型: INT_PTR
如果函式成功,傳回值就是呼叫 EndDialog 函式時所指定的 nResult 參數值,用來終止對話方塊。
如果函式因為 hWndParent 參數無效而失敗,則傳回值為零。 在此案例中,函式會傳回零,以便與舊版 Windows 相容。 如果函式因任何其他原因而失敗,則傳回值為 –1。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
DialogBoxParam 函式會使用 CreateWindowEx 函式來建立對話方塊。 如果範本指定對話框程式DS_SETFONT或DS_SHELLFONT) 樣式,則 DialogBoxParam 接著會傳送WM_INITDIALOG訊息 ( 和WM_SETFONT訊息。 函式會顯示對話框 (,不論範本是否指定 WS_VISIBLE 樣式) 、停用擁有者視窗,以及啟動自己的訊息循環來擷取和分派對話框的訊息。
當對話框過程呼叫 EndDialog 函式時,DialogBoxParam 會終結對話框、結束訊息迴圈、如果先前啟用) ,則會啟用擁有者視窗 (,並在呼叫 EndDialog 時傳回對話框程式所指定的 nResult 參數。
注意
winuser.h 標頭會將 DialogBoxParam 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-dialogbox-l1-1-1 (於 Windows 8.1) |
另請參閱
概念
參考