"该资源主要讲解了VC++中MFC框架下的文档和视图机制,特别是视图及视图类的使用。文档模板在多文档应用程序中的重要性也被强调,包括如何创建和配置文档模板,以及如何处理多个文档类型。"
在MFC应用中,文档和视图(Document and View)架构是一种常见的设计模式,用于实现数据和用户界面的分离。视图(View)是用户界面的一部分,它与文档(Document)紧密关联,作为用户与文档交互的接口。视图可以响应用户的输入,同时负责文档的显示、打印和打印预览。MFC库中的`CView`类及其派生类提供了视图的各种功能,简化了开发过程并支持Windows的新特性。
7.3视图及视图类中,`CView`是基础视图类,通常会根据应用需求派生出特定的视图类。这些派生类可以实现特定的用户界面逻辑,如绘制数据、处理用户事件等。视图类还可以重写基类方法以定制行为,例如`OnDraw()`方法用于绘制视图内容。
7.1文档模板是MFC中多文档接口(MDI)或单文档接口(SDI)应用的核心组件。`CMultiDocTemplate`类负责管理不同类型的文档,并且连接到相应的文档类、视图类和框架窗口类。在初始化期间,通过`RUNTIME_CLASS`宏传递这些类的运行时类信息给`CMultiDocTemplate`构造函数。例如,在示例代码中,`CEx_MDIApp::InitInstance()`函数创建了一个`CMultiDocTemplate`实例,将`CEx_MDIDoc`(文档类)、`CChildFrame`(MDI文档窗口类)和`CEx_MDIView`(视图类)关联起来。
7.1.2文档模板字串资源是用于标识文档类型、标题等信息的字符串资源。在`StringTable`中,每个IDR_MAINFRAME对应的字符串被分隔成多个子串,这些子串分别用于不同目的,如文档类型名称、默认文件扩展名等。开发者可以通过资源编辑器或者向导的高级选项来修改这些字符串。
7.1.3为了支持多个文档类型,开发者可以创建多个文档模板,每种类型的文档对应一个模板。这涉及到对StringTable资源的修改,如增加新的ID和更新相应字符串,以确保应用程序能够正确识别和处理不同类型的文档。
该资源详细介绍了MFC中如何利用文档模板和视图类构建用户界面,以及如何扩展支持多种文档类型,这对于理解MFC应用的架构和开发流程至关重要。