DialogBox

DialogBox是一個Windows API函式。它的作用是從一個對話框資源中創建一個模態對話框。該函式直到指定的回調函式通過調用EndDialog函式中止模態的對話框才能返回控制。該函式通過調用DialogBoxParam函式來實現。

語法

參數

hlnstance

標識一個模組的事例該模組的執行檔含有對話框模板。

IpTemplate

標識對話框模板。此參數可以是指向一個以NULL結尾的字元串的指針,該字元串指定對話框模板名,或是指定對話框模板的資源標識符中的一個整型值。如果此參數指定了一個資源標識符則它的高位字一定為零,且低位字一定含有標識符。一定用MAKEINTRESOURCE宏指令創建此值。

hWndParent

指定擁有對話框的視窗。

IpDialogFunc

指向對話框過程的指針。有關更詳細的關於對話框過程的信息,請參見DialogProc。

返回值

如果函式調用成功,則返回值為在對函式EndDialog的調用中的nResult參數.該函式用於中止對話框。如果函式調用失敗,則返回值為-1。若想獲得更多的錯誤信息,請調用GetLastError函式。

備註

DialogBox宏用CreateWindowEx函式創建對話框。DialogBox函式然後把一個WM_INITDIALOG訊息(和一個WM-SETFONT訊息,如果模板指定DS_SETFONT類型)傳遞到對話框過程。不管模板是否指定WS_VISIBLE類型,函式顯示對話框,並且使擁有該對話框的視窗(也稱屬主視窗)失效,且為對話框啟動它本身的訊息循環來檢索和傳遞訊息。

當對話框應用程式調用EndDialog函式時,DialogBox函式清除對話框戶止訊息循環,使屬主視窗生效(如果以前有效),且返回函式EndDialog調用中的nReSUlt參數。

Windows 95和以後版本:系統可支持每個對話框模板中最多255個控制。為把大於255個的控制放入對話框,需要在WM_INITDIALOG訊息處理器中創建控制,而不是把他們放入模板中。

需求

Windows CE:lpTemplateName參數指向的對話框模板中DLGTEMPLATE結構並不支持所有的類型。

DLL最低版本 user32.dll
頭檔案 在Winuser.h中聲明,包含於Windows.h。
庫檔案 User32.lib
作業系統最低版本 Windows 95, Windows NT 3.1
Unicode 以ANSI和Unicode版本實現。

相關詞條

相關搜尋

熱門詞條

聯絡我們