单文档程序结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【例9-1】利用MFC AppWizard[exe]向导生成 一个SDI单文档应用程序MyTextOut。
5
利用向导建立一个单文档应用程序框架
【编程步骤】 (1)在Visual C++ IDE中执行File|New命令,打开 New对话框。在项目类型列表框中选择MFC AppWizard[exe]项,在Project name框中输入项目 名称,本例为MyTextOut。选择好合适的路径。
框架(菜单栏、 工具栏、状态 栏)
单文档程序要包含文档,并且一次 只能打开一个文档,其框架是指菜 单栏、工具栏、状态栏等界面元素, 客户区则用于展示用户文档。
客户区
7
向导生成的核心类及其功能
MFC应用程序框架实质上是一个标准的Windows 应用程序,它具有标准的窗口、菜单栏和工具栏。 MFC AppWizard[exe]向导为一般的SDI应用程序 生成了五个核心类,它们分别是: 应用程序类CMyTextOutApp
13
文档/视图
为了统一和简化数据处理,基于MFC的应用程序通 常采用文档/视图结构。 在MFC文档/视图结构中,有关数据处理的工作可以 分为数据的处理和数据的显示两个部分。
文档负责数据的处理、数据的维护以及数据的存储,
视图则负责数据的显示和数据的编辑,客户区消息的 响应和处理等工作,即充当了文档与用户之间的交 互界面。
基于MFC进行应用开发
使用VC++的应用程序向导MFC AppWizard可 以开发:
单文档Single document
多文档Multiple document 对话框Dialog based
本讲开始学习单文档 应用程序的开发技术
三种类型的应用程序。
1
单文档应用案例1的程序运行界面
2
本讲主要内容
10
向导生成的核心类及其功能
2.框架窗口类CMainFrame CMainFrame类是MFC的CFrameWnd类的派 生类。它主要负责创建标题栏、菜单栏、工 具栏和状态栏。不同的SDI应用程序,其框 架窗口类名和文件名是统一的。 CMainFrame类中声明了框架窗口中的工具栏 m_wndToolBar、状态栏m_wndStatusBar 两个成员变量和四个成员函数。
9
向导生成的核心类及其功能
1.应用程序类CMyTextOutApp CMyTextOutApp类是MFC的CWinApp类的派生类。 它的主要功能有: 应用程序的初始化; 程序的启动; 程序运行结束时的清理工作。 应用程序对象theApp是一个唯一的全局变量,它的 主要功能是通过调用WinMain()主函数启动程序的 运行。MFC应用程序框架也有一个作为程序入口 点的WinMain()主函数,但在源程序中看不见该函 数,它在MFC中已定义好并同应用程序相链接。
框架窗口类CMainFrame
文档类CMyTextOutDoc 视图类CMyTextOutView 文档模板类CSingleDocTemplate
8
向导生成的核心类及其功能
一般应用程序框架中所有类的名字由MFC AppWizard[exe]向导根据一定的规则自动命 名。
应用程序框架中类(框架窗口类例外)的命名 规则一般遵照如下要求: Class Name = C + ProjectName + ClassType
14
文档/视图
文档(document)是MFC应用程序中所处理数据的 集合,包括文本、图形、图像和表格等类型。 视图(view)是文档在应用程序窗口中的一个映像。 视图就如一个观景器,用户通过视图看到文档, 通过视图修改文档。 一个视图是一个没有边框的窗口,它位于主框架窗 口中的客户区。视图是文档对外显示的窗口,但 它并不能完全独立,它必须依存在一个框架窗口 内。
(2)在MFC AppWizard-Step 1对话框中选择Single document项,向导将会创建一个单文档应用程序 框架,在本例中,以下的各个步骤使用向导提供的 默认选项即可。
6
wenku.baidu.com
利用向导建立一个单文档应用程序框架
编译、连接、运行MFC AppWizard[exe]向导创建的 应用程序MyTextOut。运行结果如图所示。
15
文档/视图
当打开某种类型的文件时,应用程序必须确定哪一种文档模 板用于解释这种文件。在初始化程序时,必须首先注册文 档模板,以便程序利用这个模板来完成主框架窗口、视图、 文档对象的创建和资源的装入。
BOOL CMyTextOutApp::InitInstance() { …… CSingleDocTemplate* pDocTemplate; //声明文档模板指针 pDocTemplate = new CSingleDocTemplate( //创建文档模板对象 IDR_MAINFRAME, //文档模板使用的资源ID RUNTIME_CLASS(CMyTextOutDoc), //创建文档对象 RUNTIME_CLASS(CMainFrame), // 创建主SDI框架窗口对象 RUNTIME_CLASS(CMyTextOutView)); //创建视图对象 AddDocTemplate(pDocTemplate); //将文档模板加入链表 …… }
利用向导建立一个单文档应用程序框架 向导生成的核心类及其功能
文档/视图
文字的显示 菜单
3
单文档案例1——文本显示案例
利用MFC建立一个单文档应用程序,用于在 客户区显示文本。程序的主要功能包括:
使用菜单命令
按照指定文本内容和坐标位置在客户区显示文 本 保存文本内容
等。
4
利用向导建立一个单文档应用程序框架
12
向导生成的核心类及其功能
5.文档模板类CSingleDocTemplate 文档、视图、框架类和所涉及的资源形成了一 种固定的联系,这种固定的联系就称为文档 模板。 文档模板类CSingleDocTemplate是MFC的 CDocTemplate类的派生类 CSingleDocTemplate文档模板类在应用程序 中有着非常重要的作用,是它将原本独立的 文档、视图和框架窗口对象联系在一起。
11
向导生成的核心类及其功能
3.文档类CMyTextOutDoc
类CMyTextOutDoc是MFC的CDocument类的派生类, 它用于管理和维护数据,包括应用程序数据的保存 和装载,实现文档的序列化功能。 4.视图类CMyTextOutView
类CMyTextOutView是MFC的CView类的派生类,它 主要负责客户区文档数据的显示,以及如何进行人 机交互。
相关文档
最新文档