第4章MFC应用程序框架剖析

第4章MFC应用程序框架剖析

ID:46247976

大小:1.17 MB

页数:36页

时间:2019-11-22

第4章MFC应用程序框架剖析_第1页
第4章MFC应用程序框架剖析_第2页
第4章MFC应用程序框架剖析_第3页
第4章MFC应用程序框架剖析_第4页
第4章MFC应用程序框架剖析_第5页
资源描述:

《第4章MFC应用程序框架剖析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第4章MFC应用程序框架剖析在进行一个Windows应用程序开发之前,首先需要选择一个开发环境。假定我们现在只给出两种选择:一•种是使用Win32应用程序编程接口的C语言程序;另一种是使用MFC应用程序框架的C++语言程序。在这里,笔者并不想阐述这两种选择哪个更好,而是想通过这两种开发环境的比较让读者更好的理解木章将要讲述的重点——MFCo4」什么是MFC以及MFC的特点只要使用过传统的windows编程方法开发应用程序的读者都深刻地体会到,即使是开发一个简单的windows应用程序也需要对windows的内部

2、编程原理有很深刻的认识,同时也要手工编写很多的代码。用C宜接编写WindowsAPI应用程序,代码聚是非常人的,因为你所要照顾的细节太多了,更令人头疼的是,随着代码行数的增多,程序的可读性、可维护性也大大的降低,因此,传统的windows编程是需耍极大的耐心和丰富的编程经验的。近几年來,面向对象技术无论是在理论还是实践上都在飞速地发展。面向对彖技术中最重要的就是“对象”的概念,它把现实世界屮的人、机器等客观实体抽象成程序屮的“对象”。这种“对象”具有一定的属性和方法,这里的属性指对象本身的各利「特性参数。如人的

3、体重,机器的体积等,而方法是指对象本身所能执行的功能,如人能行走,机器能运作等。一个具体的对象可以有许多的局性和方法,面向对象技术的重要特点就是对象的封装性,对于外界而言,并不需要知道对象有哪些属性,也不需要知道対象本身的方法是如何实现的,而只需要知道如何调用对彖所提供的方法来完成特定的功能。从这里我们对以看出,当把而向对彖技术应用到程序设计屮时,程序员只是在编写对象方法时才需要关心对象木身的细节问题,大部分的时间是放在对对象的方法的调用上,组织这些对象进行协同工作。MFC的英文全称是MicrosoftFund

4、ationClasses,即微软的基本类库,它位于任何WindowsAPI之上,在这个类库中包含了一百多个程序开发过程中最常用到的对象。它减少了大量在建立Windows程序时必须编写的代码。同时它述提供了所有一般C卄编程的优点,例如继承和封装。正是由于MFC编程方法充分利用了血向对象技术的优点,它使得我们在编程时极少需要关心对象方法的实现细节,而只需要简单地调用己有对象的方法就可以了。即使类库小的那些对彖的方法不能满足我们的需要时,我们还可以利用面向对象技术中很垂要的“继承”方法从类库中的已冇对彖派生出我们自己

5、的对彖,这时派生出來的对彖除了具有类库屮的对象的特性和功能之外,还可以由我们a己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。这使得应用程序中程序员所需要编写的代码大为减少,冇力地保证了程序的良好的可调试性。MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件。下面,我们将会通过一个实例來验证MFC的特点。还记得我们在第二章中讲过的那个创建窗口的程序(EX02-00)吗?创建一个窗口然后在该窗口的顶端打印一条语句并响应鼠标键盘消息,读者大概不会忘了,

6、为了实现这个功能所要做的那些烦琐的步骤,包括创建一个窗口类、注册类、创建窗口、刷新窗口、消息循环等等。下面,我们将利用MFC类库功能模仿AppWizard建立一个这样的程序,看看它是怎么实现的。请看清单4-00中的代码。如果你是笫一次看到这类程序,也许比较难理解,这没关系,我们后面会详细介绍。现在你只要用VisualC++环境中建立、编译和运行它就可以了。建立一个Win32程序(实际上木节的这个程序并非一个真正W32程序,只是采用W32编程环境,利用MFC类库来实现)的过程忘了吗?步骤同第二章所讲述的一样,只不

7、过代码不同。启动VisualC++,打开NewWizard对话框,选择Project选项卡,在左边的窗口中选择Win32Application,在右边输入工程名,OK就可以了,然后从Project菜单中选择AddtoProjectINew,再次打开NewWizard对话框,在左边窗口选择O+Sourcefile,在右边输入和工程名相同的文件名就可以了,最后在代码编辑区中输入下面清单中的语句就可以编译运行了。完整的例程请参见光盘中的例子代码EX04-00o清单4-00模仿MFC应用程序框架生成一个窗口//^ig^

8、ig^ig^ig*iftu^Tv^Tv^Tv^Tv^Tv^Tv*T^//MyApp.hJ//arT*rTw»TwrTw91^»Twr«91^rTw»TwrTw9T^»Twr«rTw•!>»Twr«rTw»T^rTwrTwrjw#includcHafxwin.hnclassCMyApp:publicCWinApp{public:virtualBOOLInitlnstance();};cl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。