定義
函式功能:該函式根據對話框模板資源創建一個無模式的對話框。在顯示對話框之前,函式把一個應用程式定義的值作為WM_INITDIALOG訊息IParam參數傳到對話框過程應用程式可用此值來初始化對話框控制。
函式原型:HWND CreateDialogParam(HINSTANCE hlnstancem,LPCTSTR IpTemplateName,HWND hWndParent,DLGPROCIpDialogFunc, LPARAM dwlniParam);參數:
hlnstance:標識一個模組的事例,該模組的執行檔含有對話框模板。
IpTemplateName:標識對話框模板。此參數可以指向一個以NULL結尾的字元串的指針,該字元串指定對話框模板名,或是指定對話框模板的資源標識符的一個整型值。如果此參數指定了一個資源標識符,則它的高位字一定為零且低位字一定含有標識符。一定用MAKENTRESOURDE宏指令創建此值。
HwndParent:指定擁有對話框的視窗。
IpDialogFunc:指向對話框過程的指針。有關對話框過程的更詳細的信息,請參見DialogProc。
dwlnitParam:指定傳遞到WM_INITDIALOG訊息的IParam參數中的對話框過程的值。
返回值:如果函式調用成功則返回值為指向對話框的視窗句柄。如果函式調用失敗則返回值為NULL。
若想獲得更多錯誤信息,請調用GetlastError函式。
備註
CreateoialogParam函式用 CreateWindowEx函式創建對話框。CreateDialogParam函式然後把一個WM_INITDIALOG訊息(和一個WM_SetFont訊息,如果模板指定DS SETFONT類型)傳遞到對話框過程。如果模板指定WS_VISIBLE類型,則函式顯示對話框,最後CreateDialogParam返回對話框的視窗句柄。CreateDialogParam返回之後應用程式用ShowWindow顯示對話框(如果還沒有顯示)。應用程式用DestroyWindow函式來清除對話框。
Windows 95和以後版本:系統可支持每個對話框模板中最多255個控制。為把大於255個的控制放入對話框,需要在WM_INITDIALOG訊息處理器中創建控制,而不是把他們放入模板中。Windows CE:IPTemplateName參數指向的對話框模板中DLGTEMPLATE結構並不支持所有的類型。Windows NT:3.1 及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭檔案;winuser.h;庫檔案:use32.lib;Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。