12、使用Visual C++创建多文档界面应用程序

使用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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值