在MFC程序中使用對話框時一般都是首先在資源模版里創建對話框資源,然后DoModal()或者Create顯示出模式對話框或者非模式對話框。然而采用該方式創建出的對話框移植性差,從一個工程移動到另一個工程比較麻煩。
在MFC中還有另一種創建對話框的方法,即利用DLGTEMPLATE、DLGITEMTEMPLATE結構體進行對話框的創建。
一、DLGTEMPLATE
typedef struct {DWORD style; //DWORD dwExtendedStyle; //WORD cdit; //控件數量short x; //對話框左上角的 x 坐標short y; //對話框左上角的 y 坐標short cx; //對話框的寬度short cy; //對話框的高度
} DLGTEMPLATE;
- style是指對話框的樣式。此成員可以是窗口樣式值(如 WS_CAPTION 和 WS_SYSMENU)和對話框樣式值的組合(如 DS_CENTER)。
- dwExtendedStyle是指窗口的擴展樣式。
DLGTEMPLATE結構后總是緊跟著三個變長數組,它們分別指定了對話框的菜單,類,標題。每個數組由一或更多的16-bit元素組成。菜單,類和標題數組必須在WORD邊界上對齊。
<