使用Visual C++创建多文档界面应用程序
1. 多文档界面(MDI)应用程序概述
1.1 MDI与SDI应用程序的区别
单文档界面(SDI)应用程序一次只允许用户处理一个文档,并且通常限制用户处理特定类型的文档。而多文档界面(MDI)应用程序不仅允许用户同时处理多个文档,还能让用户处理多种类型的文档。MDI应用程序采用窗口套窗口的样式,在一个框架窗口内包含一个或多个子窗口,这是许多流行软件包(如Word和Excel)常见的应用样式。
1.2 MDI应用程序的架构
从架构上看,MDI应用程序与SDI应用程序相似。创建MDI应用程序时,比SDI应用程序多创建一个类,涉及的类包括:
- CWinApp派生类
- CMDIFrameWnd派生类
- CMDIChildWnd派生类
- CDocument派生类
- CView派生类
其中,CMDIFrameWnd派生的CMainFrame类是应用程序的主框架,提供桌面内的封闭空间,菜单和工具栏都附着在这个框架窗口上;CMDIChildWnd派生的CChildFrame类用于容纳CView类,负责将消息和事件传递给视图类进行处理或显示。可以说,SDI应用程序中框架类的功能在MDI应用程序中被拆分成了这两个类,并且支持同时运行多个带有自己文档/视图类实例的子框架。
下面是MDI文档/视图架构的简单示意:
graph LR
A[Application object (CWinApp)] --> B[Main Frame win
超级会员免费看
订阅专栏 解锁全文
1319

被折叠的 条评论
为什么被折叠?



