MDI中MainFrame与ChildFrame的关系

    技术2022-05-20  38

    (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


    最新回复(0)