[MFC]文档视图体系结构、单文档界面

本文详细介绍了MFC中的文档视图结构,包括文档、视图、主框架和应用程序对象的角色。特别关注了单文档界面(SDI)的特性,如SDI的InitInstance函数中的文档模板创建和注册过程。此外,讨论了MFC如何通过命令传递机制实现消息处理的模块化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 文档视图结构:

    1) 是MFC的一种模块化设计思想的产物,要求程序的数据和表现数据的视图分开来处理;

    2) 数据以文档的形式表现,文档可以存储在磁盘中永久保存也可以被程序读出并进行处理;

    3) 单文档(SDI,Single Document Interface)和多文档(Multiple Document Interface)的区别:单文档界面程序只支持打开一个文档,而多文档界面允许同事打开多个文档,还支持用多个视图来表现一个文档;

    4) 典型的单文档界面程序体系结构介绍:

         i. 主要包含应用程序对象、主框架对象、视图对象和文档对象;

         ii. 应用程序对象:提供消息循环给主框架和视图,并将消息送给它们两个;

         iii. 主框架对象:主要作为视图、工具栏以及其它用户界面对象的容器,文档视图结构从来都不会为主框架获取设备描述表来绘图,因为其所有的绘图都会输出到视图中,就算让主框架绘图也不会显示,因为视图刚好覆盖了主框架的客户区,是从CFrameWnd派生而来;

         iv. 文档对象:负责和视图交换数据,需要以视觉的形式表现数据时就将数据提供给视图去显示,需要保存视图表现的数据时就从视图获取数据,也可以和磁盘交换数据,提供数据的永久保存,是从CDocument类派生而来的;

         v. 视图对象:主要用于表现数据,同时处理窗口的各种消息,也负责将鼠标和键盘的输入转换成处理数据的命令,从CView或者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值