MDI中MainFrame与ChildFrame的关系

(1)没有子窗口ChildFrame(包括视图)时,显示的是主窗口MainFrame的菜单及工具栏.
(2)如果用户新建了一个视图(如打开一个文件),则显示的是子窗口ChildFrame的菜单及工具栏,而主窗口

MainFrame的菜单及工具栏被子窗口ChildFrame覆盖了.

(3)主窗口有菜单,工具栏,一般似乎没有事件处理(如OnMouseDown等). 而子窗口一般有事件处理,如

OnMouseDown()等(可在view中响应,因为ChildFrame与view已绑定在一起了,形成"三口组").
而一个最简单的MFC的MDI程序,也应有一个应用程序对象和一个窗口:
CMFC_frameApp theApp;//应用程序对象
CMainFrame* m_pMainWnd;//一个主窗口(可响应事件,如
OnMouseDown)

(4)窗口类继承关系(从子到父):
CChildFrame ->CMDIChildWnd------->CFrameWnd->CWnd->CCmdTarget.
 CMainFrame ->CMDIFrameWnd------->CFrameWnd->CWnd->CCmdTarget.

另:CMyView -> CView------------------------->CWnd
   CMyDoc-> CDocument----------------------------->CCmdTarget
   CMyApp->CWinApp->CWinThread-------------------->CCmdTarget

你可能感兴趣的:(MFC)