VC应用程序框架

VC应用程序框架提供的强大功能,为我们的开发提供了极大的方便,利用它可以很轻松地生成应用程序的框架.许多常用功能,例如文档的创建,文件的打开,保存等操作的大部分代码都由应用程序框架来完成.这些操作对于开发软件的用户而言是透明的。微软设计Visual C++的初衷是尽量向用户提供尽可能简单的接口,但是,正是因为应用框架的这一透明性,使VC的运行流程显得非常神秘,当涉及这些VC已经提供的功能模块的软件开发时,用户(特别是那些刚刚接触VC的)不知道什么时候该使用什么接口函数,想改变VC的一些默认操作时也不知道该从哪儿下手。

我们可以通过VC自带的强大的Debug调试工具,跟踪应用程序框架代码,从而得出应用程序框架操作的部分流程.具体实现是:利用Visual C++应用程序生成器生成应用程序框架代码,启动Classwizard,在各个类中加入欲跟踪的接口函数,编辑接口函数,设置断点,再启动Debug进行单步跟踪调试.利用这一方法,我们还可以跟踪 VC提供的例子代码.在跟踪过程中,VC的核心代码是禁止跟踪调试的,我们只要跳过就行。

以下是根据我自己看到的一些资料和对多文档应用程序的文档创建,文件的打开, 保存(另存为)操作的跟踪结果,单文档应用与多文档应用的操作流程基本相似,只是用CSingleDocTemplate类的同名函数来替代对 CMultiDocTemplate类同名函数的调用。

一.创建文档

ON_COMMAND(ID_FILE_NEW,CWinApp::OnFileNew)

入口:CWinApp::OnFileNew

CWinApp对OnFileNew的默认实现是调用:CdocManager::OnFileNew()

1.判断有无文档模板,无则函数返回;

2.判断是否有多个文档模板,如有则启动文档模板选择对话框,让用户选择一个模板后,返回模板指针.

3.由模板指针访问CMultiDocTemplate::OpenDocumentFile()

3.1 创建新文档对象

3.2 创建与新文档对象对应的子框架,构筑子框架,文档和视窗之间的关系

3.3 调用应用程序的OnNewDocument()

a.调用CDocument::OnNewDocument()

调用应用程序的DeleteContents();

b.用户代码

3.4 调用InitialUpdateFrame()显示视窗

3.5 返回文档指针

4.返回

二.打开文档

ON_COMMAND(ID_FILE_OPEN,CWinApp::OnFileOpen)

入口:CWinApp::OnFileOpen

CWinApp对OnFileOpen的默认实现是调用:CDocManager::OnFileOpen()

1.弹出对话框让用户选择待打开的文件,返回该文件的全路径名称, 供下面函数调用时使用.

2.调用应用程序的OpenDocumentFile(LPCTSTR lpszFileName)

时间: 2024-08-30 20:16:14

VC应用程序框架的相关文章

MFC应用程序框架入门

摘要: 本文主要对VC++ 6.0的MFC编程方法及MFC应用程序框架进行简要介绍. 关键词: VC++6.0:MFC:程序框架 1 MFC概述 顾名思意,MFC应用程序框架是以MFC作为框架基础的,以此程序框架模式搭建起来的应用程序在程序结构组织上是完全不同于以前的Win32 SDK编程方式的.自20世纪90年代初问世以来,MFC一直试图把Windows API函数封装到类库中个各个逻辑类中.MFC的这种封装并非简单地对API函数进行分组与打包,而是更多地通过类来试图实现全部的系统策略.随着越

全面解析MFC应用程序框架

对于程序员来说,如果要提高编程效率,一个好用的,功能强大的并且可以得心应手使用的编程工具往往会给我们程序员带来莫大的方便.其实对于现在的编程工具来说,使用哪一种工具都不是问题的关键,重要的是你能够使用到什么程度,毕竟现在的工具都是非常的强大,对于一般的编程任务来说还没有不能够胜任的工具,否则的话恐怕他就不可能在这个世界上存在哪怕是只有一个月的生命. 但是根据个人所好以及周围的人的影响,我们都会去使用某一种或者几种工具.比较Visual Basic .C++ Builder和Delphi等编程工具

构建插件式的应用程序框架(一)-开篇

说起插件(plug-in)式的应用程序大家应该不陌生吧,记得很早以前有一款很流行的MP3播放软件winmap,它是我记忆里最早认识的一款使用插件模式的应用程序,你可以使用他的插件管理器插入很多的音乐效果器,皮肤,甚至是歌词显示的面板.接下来看到了Photoshop使用插件模式管理虑镜.最后发现只要是大一点的应用程序基本都使用了插件式的程序框架,就拿我们最常用的工具来说吧,Visual Studio,Office,Delphi,Eclipse等等.Eclipse将插件模式发挥到了及至,因为他是开源

COM应用程序框架 1.2 设计方案 试验A版

本文只介绍<COM应用程序框架>的主要设计部分,更多.更详细的文档信息请参见下 载文件包中的文档和源代码. 一.设计说明 <COM应用程序框架>是把标准的Microsoft Windows多文档处理应用程序使用COM技术 来设计.所以针对多文档处理应用程序的需求,不再多写.如果您不了解请参见MSDN或者 是其它编程基础方面的书籍. <COM应用程序框架>分为两种,一种是COM多文档应用程序框架,第二种是单文档应 用程序框架.在这里我们只介绍多文档应用程序,不介绍单文档应

Symbian程序框架研究

S60应用程序的运行依赖于大量的OS组件,例如屏幕绘图和应用程序数据持久性等,可以直接使用OS的窗口服务器或者文件服务器即可. 应用程序框架由一套核心类组成,这些类是所有应用程序框架的基础.这些类组成了所有应用程序的架构,并且它们也封装了应用程序和所需OS服务器之间的相互作用. 第一层:CBase和CActive两个基类,其中CActive也是派生于CBase,而CActive又被第二层的CConEnv派生 第二层:包含两个基本组件:AppArc和CONE.AppArc代表"应用程序架构&quo

应用程序框架设计(1):SW系统简介

<应用程序框架设计>是我大学毕业时(2000年)写的毕业论文.在我给公司内部作"应用程序架构"方面的讲座时,曾经作为入门级的参考资料附上.后来不知如何就流传到Internet上,不过是不完整的版本(可尝试在Google中搜索"应用程序框架设计:SW系统").回头看这篇文字,最大的感受觉得自己的文字功底是越来越退步了:-) 由于与界面库有关,大家不妨看看. 应用程序框架设计 许式伟 2000年6月 一.摘要 随着面向对象技术的发展成熟,已经出现了许多著名的

Symbian应用程序框架浅析

S60应用程序的运行依赖于大量的OS组件,例如屏幕绘图和应用程序数据持久性等,可以直接使用OS的窗口服务器或者文件服务器即可.   应用程序核心框架类 应用程序框架由一套核心类组成,这些类是所有应用程序框架的基础.这些类封装了应用程序和所需OS服务器之间的相互作用. 第一层:CBase和CActive两个基类,其中CActive也是派生于CBase,而CActive又被第二层的CConEnv派生 第二层:包含两个基本组件:AppArc和CONE.AppArc代表"应用程序架构",这些类

Seam无缝集成:为JSF定做应用程序框架

JavaServer Faces (JSF) 是用于 Java Web 应用程序的第一个标准化的用户界面框架. 而 Seam 是一个扩展 JSF 的强大的应用程序框架.在这个由三部分组成的新系列中的第一篇文章中,发现这两种框架之间的互补性.Dan Allen 介绍了 Seam 对 JSF 生命周期的增强,包括上下文状态管理. RESTful URL.Ajax remoting.适当的异常处理和约定优于配置. JSF 正开始凭借其 Java Web 标准的地位主导 Java Web 应用程序市场.

基于MVC模式的J2ME应用程序框架设计

1 J2ME应用程序框架的现状 Sun公司在1999年6月推出了J2ME(Java 2 MicroEdition,Java 2袖珍版).J2ME是专门为那些使用有限电源.有限网络连接以及有限图形用户界面能力的设备开发的,满足了消费电子和嵌入式设备开发的需要. 而7年后的今天,消费电子和嵌入式设备发展迅速.硬件设备速度越来越快,存储容量也越来越大,这也就自然带动了软件的发展.MIDP 2.0和CLDC 1.1也相继问世,各种各样的JSR也层出不穷. 硬件平台和软件平台的飞速发展自然带动了人们需求的