該宏在記憶體中從對話框模板上創建一個無模式對話框。此宏使用CreateDialoglndirectparam 函式。
基本介紹
- 外文名:CreateDialoglndirect
- 類別:計算機函式
- 功能:創建一個無模式對話框
- 原型:HWND CreateDialoglndirect
函式,函式功能,函式原型,參數,hlnstance,IPTemplate,hWndParent,IpDialogFunc,備註,
函式
函式功能
函式功能:該宏在記憶體中從對話框模板上創建一個無模式對話框。此宏使用CreateDialoglndirectparam 函式。
函式原型
函式原型:HWND CreateDialoglndirect(HINSTANCE hlnstance,LPCDLGTEMPLATE IPTemplate,HWNDhWndParent,DLGPROC IPDialogFunc)。
參數
hlnstance
hlnstance:標識創建對話框的模組的事例。
IPTemplate
IPTemplate:指向含有一個模板的全局記憶體對象的指針。CreateDialoglndirect用此模板創建對話框。對話框模板由描述對話框的標題組成,跟隨著標題之後的是描述每一個控制的一個或多個數據塊,模板可以用標準格式或擴展格式。在標準模板中,標題是由DLGTEMPLATE結構跟隨一個變長數組組成。每個控制的數據是由DLGTEMPLATE結構跟隨一個變長數組組成。在擴展模板中,標題用DLGTEMPLATEEX格式,且控制定義用DLGITEMPLATEEX格式。CreatDialoglndirect函式返回後,可釋放模板,此模板僅用於啟動對話框。
hWndParent
hWndParent:標識擁有對話框的視窗。
IpDialogFunc
IpDialogFunc:指向對話框應用程式的指針,有關更多的對話框應用程式的指針,參見DialogProc。
備註
備註:CreateDialOglndirect宏使用CreateWindowEx函式來創建對話框,然後該函式把一個WM_INITDIALOG訊息傳送到對話框應用程式,如果模板指定DS_SETFONT類型,則函式也把一個WM_SETFONT訊息傳送到對話框應用程式。如果模板指定WS_VISIBLE類型,則函式顯示對話框,最後CreateDialoglndirect返回指向對話框的視窗句柄。
CreateDialoglndirect函式返回之後,可用 ShowWindow函式來顯示對話框(如果還沒有顯示)。用DestroyWindow函式來清除對話框。
所有對話框模板的字元串,例如對話框和按鈕的標題,一定是Unicode字元串。使用
MltiByteToWidechar函式產生這些Unicode字元串可以創建在Windows和Windows NT兩種系統上工作的代碼。
Windows 95和以後版本:系統可支持每個對話框模板最多為255個控制。為把多於255個控制放入對話框,可以在WM_INITDLAIOG訊息處理器中創建控制,而不是把它們放入模板中。
Windows CE:lpTempate參數指向的對話框模板中,DLGTEMPLATE結構並不支持所有的類型。
速查:Windows NT:3.1 及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭檔案:Winuser.h;庫檔案:user32.lib;Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。
