CMDIFrameWnd 類

CMDIFrameWnd

CObject
└CCmdTarget
└CWnd
└CFrameWnd
└CMDIFrameWnd

CMDIFrameWnd類提供了Windows多文檔界面(MDI)子窗口的功能和管理窗口的功能。
爲了爲應用創建有用的MDI子窗口,需要從CMDIFrameWnd派生類。
爲派生類增添成員變量,從而爲應用存儲指定的數據。實現消息處理的成員函數,並在派生類中實現消息映射,以便於指出當消息傳遞給窗口後,將發生什麼事情。
可以通過MDI調用Create函數或CMDIFrameWnd的LoadFrame函數來構造MDI子窗口。
在調用Create或LoadFrame之前,必須使用C++的new操作符在堆中構造框架窗口對象。在調用Create函數之前,必須使用AfxRegisterWndClass全局函數來登記窗口類,從而爲框架設置圖標或類的風格。
使用Create成員函數,用於傳遞作爲即時參數的框架創建參數。
LoadFrame需要的參數比Create少,不過,它需要資源更多的缺省值,包括框架的標題、圖標、加速表和菜單。爲了LoadFrame函數的使用,所有的資源必須有相同的資源ID 號(例如, IDR_MAINFRAME)。
儘管MDIFrameWnd由CFrameWnd類派生,但由CMDIFrameWnd派生的框架窗口不必由DECLARE_DYNCREATE來聲明。
CMDIFrameWnd類從CFrameWnd類中繼承了大部分缺省用法。如果需要這些功能的詳細情況,請參考CFrameWnd類的描述。CMDIFrameWnd擁有下列額外的功能: · MDI框架窗口用於管理MDICLIENT窗口,並在其與控件欄的結合中復位。MDI客戶窗口是MDI子框架窗口的直親。WS_HSCROLL與WS_VSCROLL窗口風格指定了CMDIFrameWnd將應用於MDI客戶窗口,而不是主框架窗口,這樣用戶就可以滾動MDI 客戶區(例如,Windows的程序管理器)。
· 當沒有活動的MDI子窗口時,MDI框架窗口擁有作爲菜單條使用的缺省菜單。當有活動的MDI子窗口時,MDI框架窗口的菜單條由MDI子窗口的菜單所替換。
· 如果有MDI子窗口,那麼MDI框架窗口則操作當前的MDI子窗口。例如,命令消息將於MDI框架窗口之前發送到MDI子窗口。
· MDI框架窗口擁有下列標準Windows菜單命令的缺省句柄:
·ID_WINDOWS_TILE_VERT
·ID_WINDOWS_TILE_HORZ
·ID_WINDOWS_CASCADE
·ID_WINDOWS_ARRANGE
· MDI框架窗口也有ID_WINDOWS_NEW功能,以用於在當前文檔中創建新的框架或視圖。應用可以覆蓋這些缺省的命令操作,以用於定製 MDI窗口操作。
最好不要使用C++ delete操作符來刪除框架窗口,相反,請使用CWnd::DestroyWindow函數。當銷燬窗口時,PostNcDestroy的CFrameWnd命令將刪除C++對象。當用戶關閉框架窗口時,缺省的OnClose操作將調用DestroyWindow函數。
如果要了解有關CMDIChildWnd函數的更多信息,請參閱聯機文檔“Visual C++程序員指南”中的“框架窗口主題”。
#include
請參閱:CWnd, CMDIChildWnd
CMDIFrameWnd類的成員

類成員

CMDIFrameWnd類的成員


構造函數 CMDIFrameWnd 構造一個CMDIFrameWnd

操作 MDIActivate 激活一個不同的MDI子窗口
MDIGetActive 獲取當前活動的MDI子窗口,並得到指示它是否最大化的標誌
MDIIconArrange 重排所有最小化文檔子窗口
MDIMaximize 最大化一個MDI子窗口
MDINext 激活緊跟在當前活動子窗口之後的子窗口,並把當前活動子窗口放到所有子窗口的最後
MDIRestore 將一個MDI子窗口從最大化或最小化狀態恢復回來
MDISetMenu 重置一個MDI框架窗口的菜單,Window彈出菜單,或兩者都重置
MDITile 將所有的子窗口以平鋪方式排列
MDICascade 將所有的子窗口以級聯方式排列

可覆蓋的函數 CreateClient 爲CMDIFrameWnd類創建Windows MDICLIENT窗口。通過CWnd類的OnCreate成員函數來調用
GetWindowMenuPopup 返回窗口的彈出菜單

 

構造函數

CMDIFrameWnd::CMDIFrameWnd

CMDIFrameWnd();

說明:
調用該函數來構造一個CMDIFrameWnd對象。調用Create或LoadFrame成員函數來創建可視的MDI框架窗口。

請參閱:CFrameWnd::Create, CFrameWnd::LoadFrame
發佈了37 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章