快讯

『VC++技术内幕』学习笔记(3)

2004-02-14 09:34  出处:PConline  作者:雷神  责任编辑:zwg 

下面进入正体,让我们继续来看看MFC的消息映射。   MFC是通过一些宏来将特定的消息影射到派生类相应的成员函数上,这种体制的好处是允许某些非窗口类(如文档类)来控制命令消息。且不需要C++作任何扩展。   MFC的消息控制函数要求提供函数原形、函数体以及消息映射中的入口。真的很麻烦,还好用Class Wizard可以很容易的将上面说到的东西加到我们的类中。例如只要在Class Wizard中添加WM_LBUTTONDOWN消息,则相应的代码便加在合适的地方。怎么样简单多了吧。   应用程序除了包含应用程序框架类外,一般还要包含文档和视图类。这种文档-视图结构是应用框架的核心。我一直做MIS开发,当然不是用VC用的是VB,所以看到这我很不自觉的想到了后台数据库和界面的关系,这个例子可能不是很恰当,但却能很好的帮助我们理解文档和视图。文档好比后台的数据库,视图就是界面上显示的内容,同一个数据库可以用不同的界面显示,但由于所有的界面内容都是从数据库中数据得来,所以当数据库发生变化时所有的相关界面显示都会跟着改变。越来越觉得不恰当,不过实在想不出别的例子了。我们的应用程序实际上就是通过视图对文档进行一系列操作,不单指输出。下面我们看看视图类。   视图是一个从CView类派生的类的对象,在屏幕上显示的窗口就是一种。对象的行为完全由类的成员函数和数据成员决定,其中及包括派生类中的特定函数,也包括基类的标准函数,所以了解MFC类库的结构以及各类的标准成员函数是多么重要啊,别怕麻烦找来MFC的源码读读,看多少算多少,但肯定不白看,这是雷神的经验。 记得上一篇的我的例子吗 1、打开VC++6从菜单选择NEW,给项目命名为”MyApp01“。 2、选择MFC AppWizard[exe] 选项,除STEP 1选择单文档外其他STEP缺省。 此时MFC应用程序框架便帮我们完成了应用程序,你可以执行它,它会在屏幕上显示一个典型的WINDOWS风格的空白窗口。 我们来看一下项目程序所在目录下的文件: myapp01.dsp //项目文件 myapp01.dsw //工作空间文件 myapp01.rc //资源描述文件 myapp01View.cpp //包含CMyAppView类成员函数的视图类实现文件 重点 myapp01View.h //包含CMyAppView类成员函数的视图类头文件 重点 myapp01.opt //二进制文件,告诉Developer Studio本项目的哪些文件是打开的,又是如何排列的 readme.txt //用来解释所产生的所有文件,未列出的myapp01Doc.cpp、myapp01Doc.h、StdAfx.cpp、StdAfx.h....在这里都可以找到相应解释。 resource.h //包含#define常量定义的头文件   仔细研究一下myapp01View.cpp和myapp01View.h文件,程序核心CMyAppView类在这两个文件中定义,就是我们今天要学的视图类。要想看到CMyAppView类的全貌,应该用Source Browser查看,选择CMyApp01View,按Alt+F12,选择Base Class and Members 选项。我们会看到CMyAppView类的层次关系(从哪来得),以及所有成员函数,包括从基类继承的(在Class View中不能显示父类的成员函数)。我们发现实际上你什么也不用做就拥有了一个有着强大功能的类。
键盘也能翻页,试试“← →”键
IT热词搜索 来源:360新闻
软件论坛帖子排行
相关文章

相关软件:

腾讯QQ2012
大小:52.93 MB 授权:免费
腾讯QQ2012
立即下载
腾讯QQ2013
大小:49.32 MB 授权:免费
腾讯QQ2013
立即下载