ImageVerifierCode 换一换
格式:PPT , 页数:57 ,大小:697.50KB ,
资源ID:15041487      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15041487.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第章基于文档/视图结构的程序PPT文件格式下载.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第章基于文档/视图结构的程序PPT文件格式下载.ppt

1、12.1.112.1.1 VCVC开发的应用程序类型开发的应用程序类型12.1.212.1.2 文档文档/视图结构程序的主要组成类视图结构程序的主要组成类 12.1.312.1.3 从程序员角度看从程序员角度看SDISDI与与MDIMDI应用程序应用程序 12.1.412.1.4 应用程序类应用程序类 12.1.512.1.5 文档文档/视图结构优点视图结构优点Visual C+Visual C+12.1.112.1.1VCVC开发的应用程序类型开发的应用程序类型v 利用MFC应用程序向导可以开发三种类型的应用程序:v 第一种是基于对话框的应用程序,上一章讲的对话框与控件大部分是基于对话框的应

2、用程序。v 第二种是基于SDI(Single Document Interface单文档接口)的应用程序,其特点是用户一次只能打开一个文档,若已经打开一个文档,想打开另一个文档时,必须关闭当前打开的文档。v 第三种基于MDI(Multi Document Interfac多文档接口)的应用程序,其特点是用户一次可以打开多个文档,若已经打开一个文档,又想打开另一个文档时,不必关闭当前打开的文档,它体现了Windows操作系统的多任务特点。Visual C+Visual C+12.1.212.1.2文档文档/视图结构程序视图结构程序 的主要组成类的主要组成类 v 1文档/视结构概述 在MFC 应用

3、程序中,文档视图结构用来将程序的数据本身(靠CDocument类来管理)与数据的显示以及用户对数据的交互(靠CView类来管理)相隔离,这种模式与数据库系统中的“表/视图”关系相似。v 2SDI应用程序的组成类 单文档应用程序是一种比较简单的基于文档/视图结构的程序,程序在运行过程中,只能打开该程序所关联的(如Word子处理程序关联的的是.Doc文件,即双击某个.Doc文件,启动它的是Word程序)一个文件。v 3MDI应用程序的组成类 多文档应用程序是一种比较复杂的基于文档/视图结构程序,程序在运行过程中,可以打开该程序所关联的(如Excel电子表格处理程序关联的的是.xls文件,即双击某个

4、.xls文件,启动它的是Excel程序)多个文件。Visual C+Visual C+【例12-1】本实例实现一个简单的文本编辑器功能。它是基于单文档的应用程序。(1)实例创建步骤 创建一个新的MFC AppWizard(exe)工程,工程名称为MyEditor。在AppWizard的第一步中,选择类型为Single Document(单文档类型)。AppWizard的第二步、第三步中使用缺省的选项,在第四步中,单击Advance(高级)按钮,弹出Advance Options对话框,在File Extension(文件扩展名)编辑框中输入txt2,如图图12.112.1所示。完后按Close

5、按钮。AppWizard的第五步使用缺省的选项,在第六步中,将CMyEditorView类的基类设置为CEditView后,按Close按钮关闭该对话框,在余下的几步中,全部使用默认值。最后单击“Finish”按钮,生成应用程序框架。(2)SDI应用程序的组成类 利用MFC AppWizard生成一个基于单文档的应用程序后,打开WorkSpace中的ClassView选项页,可以浏览到单文档应用程序的一些核心的组成类,如图图12.212.2所示,理解这些类及其之间的关系是理解该类应用程序的关键。Visual C+Visual C+图(一)图(一)图12.2 SDI程序的主要类图图12.1 文件

6、的高级选项对话框 Visual C+Visual C+【例12-1】(续)向导生成的一个典型的单文档应用程序包括一个应用程序类CMyEditorApp、一个主框架窗口类CMainFrame、一个文档类CMyEditorDoc、一个视图类CMyEditorView、一个“关于”对话框类CAboutDlg。打打开开上上述述五五个个类类的的定定义义文文件件,可可以以看看到到,基基于于文文档档/视视图图结结构构的的SDISDI应应用用程程序序至至少少由由以以下的几个类来组成:下的几个类来组成:应用程序类CMyEditorApp是一个从CWinApp类派生的类,它充当全部应用程序的容器。框架窗口类CMa

7、inFrame是一个从CFrameWnd类派生的类。在SDI应用程序中,框架窗口就是应用程序的主窗口,主窗口就是应用程序直接放置于桌面上的那个窗口,每个应用程序只能有一个主窗口,主窗口的标题栏上常常显示应用程序的名称(如在记事本程序中,新建一个文件后,主窗口的标题栏上显示“未定标题-记事本”)。文档类CMyEditorDoc是从CDocument类继承而来的类,它存储应用程序的数据,并将这些信息提供给应用程序的其余部分。视图类CMyEditorView是从CEditView类派生而来的,CEditView类提供了基本的文本编辑功能,是从CView类派生来的。视图窗口与其父窗口框架窗口的客户区域

8、对齐,它接收用户对应用程序的输入并显示相关联的文档数据。对话框类CAboutDlg是从CDialog派生来的,该对话框类显示一个简单的版本信息的“关于”对话框。对话框类的说明前面有一章已经专门讲解了。Visual C+Visual C+【例12-1】(续)(3)运行SDI应用程序 编译并运行上述程序的显示结果如图图12.312.3所示。在客户区中输入一些文本,然后保存。再新建一个,刚才所输入内容的文件已经关闭。这是一个典型的单文档应用程序,看它是否和记事本程序的功能类似。(4)保存文档 在MyEditor应用程序的客户区输入一些文本后,单击“文件|保存”,则弹出图图12.412.4所示的“文件

9、保存”对话框,将文件名编辑框中输入一个文件名如vc6,则在制定的目录下保存了一个vc6.txt2文件,其中保存类型编辑框中出现的的文字就是在图图12.112.1中的设置所起的作用。另外,在Window下,我们直接双击刚才建立的文件vc6.txt2,则该文件自动用程序MyEditor打开,和在Windows下用鼠标双击某个.doc文件,则该文件自动用Word字处理程序打开类似,该功能是怎样实现的呢?定位到应用程序类的InitInstance()函数中,可以看到下面的代码下面的代码:Visual C+Visual C+BOOL CMyEditorApp:InitInstance()BOOL CMy

10、EditorApp:InitInstance()CSingleDocTemplate*pDocTemplate;CSingleDocTemplate*pDocTemplate;pDocTemplate=new CSingleDocTemplate(pDocTemplate=new CSingleDocTemplate(IDR_MAINFRAME,IDR_MAINFRAME,RUNTIME_CLASS(CMyEditorDoc),RUNTIME_CLASS(CMyEditorDoc),RUNTIME_CLASS(CMainFrame),/main SDI frame windowRUNTIME_

11、CLASS(CMainFrame),/main SDI frame windowRUNTIME_CLASS(CMyEditorView);RUNTIME_CLASS(CMyEditorView);AddDocTemplate(pDocTemplate);/Enable DDE Execute open/Enable DDE Execute openEnableShellOpen();EnableShellOpen();/使得双击使得双击.txt2txt2文件类型时能调用该工程文件类型时能调用该工程MyEditorMyEditor打开打开RegisterShellFileTypes(TRUE);

12、RegisterShellFileTypes(TRUE);/在注册表中注册文件类型在注册表中注册文件类型.txt2txt2/Parse command line for standard shell commands,DDE,file open/Parse command line for standard shell commands,DDE,file openCCommandLineInfo cmdInfo;CCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);上述两行加黑的代码的功能就是实现某种类型的文件与某个应用程序关联的语句,有了它就能

13、在双击某种类型的文件时,调用相应的应用程序把其打开。Visual C+Visual C+图(二)图(二)图12.4 文件保存对话框图12.3 MyEditor的运行界面 Visual C+Visual C+【例12-2】本实例实现一个丰富文本编辑功能,即可以在当前文档中插入其它的图形、音频等。它是基于多文档的应用程序。(1)实例创建步骤 创建一个新的MFC AppWizard(exe)工程,工程名称为MyWord。在AppWizard的第一步中,选择类型为Multiple Documents(多文档类型)。AppWizard的第二步使用缺省的选项,在第三步中主要选择如何支持复合档支持 文档的,我们选择“Container”容器支持,如图图12.512.5所示,完后按Next按钮。AppWizard的第二步、第三步中使用缺省的选项,在第四步中,单击Advance(高级)按钮,弹出Advance Options对话框,在File Extension(文件扩展名)编辑框中输入doc2,如图图12.612.6所示。AppWizard的第五步使用缺省的选项,在第六步中,将CMyWordView类的基类设置为CRichEditView后,按Close按钮关闭该对话框,在余下的几步中,全部使用默认值。(2)MDI应用程序组成类 利用MFC AppWizard生成一个基于多文档的应用程序后,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1