cwnd::precreatewindow 函式先於視窗建立函式執行。如果該函式被過載,則視窗建立函式將使用cwnd::precreatewindow 函式返回的createstruct cs引數所定義的視窗風格來建立視窗;否則使用預定義的視窗風格。
createstruct結構定義了建立函式建立視窗所用的初始引數,其定義如下:
typedef struct tagcreatestruct createstruct;
createstruct結構的style域定義了視窗的風格。比如,預設的mdi主視窗的風格中就包括fws_addtotitle(在標題條中顯示當前的工作文件名)、fws_prefixtitle(把文件名放在程式標題的前面)、ws_thickframe(視窗具有可縮放的邊框)等風格。由於多種風格引數由邏輯或(「|」)組合在一起的,因此新增某種風格,就只需用「|」把對應的引數加到createstruct結構的style域中;刪除已有的風格,則需用「&」連線createstruct結構的style域與該風格的邏輯非值。
createstruct結構的x、y、cx、cy域分別定義了視窗的初始位置和大小,因此,在cwnd::precreatewindow 函式中給它們賦值,將能定義視窗的初始顯示位置和大小。
下例中的**將主框視窗的大小將固定為1/4螢幕,標題條中僅顯示視窗名,不顯示文件名。
bool cmainframe::precreatewindow(createstruct& cs)
用嚮導過載
void cmainframe::ongetminmaxinfo(minmaxinfo far* lpmmi)
視窗風格 視窗類風格
視窗風格 ws border 新建乙個有邊框的視窗 ws caption 新建乙個有邊框 標題欄的視窗。不能和 ws dlgframe 一起用 ws child 新建乙個子視窗,不能和 ws popup 一起用 ws childwindow 和 ws child 風格一樣 ws clipchildr...
mfc 視窗風格
視窗風格 window style ws border 有邊框視窗 ws caption 必須和ws border風格配合,但不能與ws dlgframe風格一起使用。指示視窗包含標題要部分。ws child 說明視窗為子視窗,不能應用於彈出式視窗風格 ws popup ws childwindow...
視窗風格 Window style
ws border 有邊框視窗 ws caption 必須和ws border風格配合,但不能與ws dlgframe風格一起使用。指示視窗包含標題要部分。ws child 說明視窗為子視窗,不能應用於彈出式視窗風格 ws popup ws childwindow 同ws child。ws clip...