第6 章 创建和使用对话框 1 第8章 文档和视图 精讲 MFC 应用程序的核心是文档/视图结构
在前面章节的学习中,已经接触了不少文档/视图结构的应用程序,本章将详细分析其结构和原理,并进一步学习使用复杂的文档结构、构造更加丰富的视图
1 文档/视图概述 使用MFC 的AppWizard 可以创建三种类型的应用程序: (1) 单文档界面的应用程序(SDI:Single Document Interface) (2) 多文档界面的应用程序(MDI:Multiple Documents Interface) (3) 基于对话框的应用程序(Dialog based) 基于对话框的应用程序框架非常简单,由应用程序类、对话框类构成
通过应用程序类的 InitInstance()函数,构造一个模式对话框对象;调用DoModal()函数,让 Windows 对话框处理程序象通常情况一样接受和分配消息;用户退出对话框后,程序也就结束了
我们已经知道 SDI 应用程序由应用程序类(CWinApp)、框架窗口类(CFrameWnd)、文档类(CDocument)、视图类(CView)和文档模板类(CSingleDocTemplate)共同作用
MDI 应用程序与 SDI应用程序的主要差别在于:MDI 有 CMDIFrameWnd 和CMDIChildWnd 两个框架窗口类,前一个派生CMainFrame 类,负责菜单等界面元素的主框架窗口管理;后一个派生 CChildFrame 类,负责相应的文档及其视图的子框架维护
而 SDI 由框架窗口类 CFrameWnd 派生 CMainFrame 类
一个文档可以有多个视图,但一个视图只能对应一个确定的文档
因此,MDI 应用程序需要解决的问题是多个文档的数据管理方法
在MDI 应用程序中,文档模板只支持主窗口
每打开一个新文档时,都调