深入浅出话vc++(2)——mfc的本质

深入浅出话vc++(2)——mfc的本质

ID:12560395

大小:583.00 KB

页数:19页

时间:2018-07-17

深入浅出话vc++(2)——mfc的本质_第1页
深入浅出话vc++(2)——mfc的本质_第2页
深入浅出话vc++(2)——mfc的本质_第3页
深入浅出话vc++(2)——mfc的本质_第4页
深入浅出话vc++(2)——mfc的本质_第5页
资源描述:

《深入浅出话vc++(2)——mfc的本质》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、引言上一专题中,纯手动地完成了一个Windows应用程序,然而,在实际开发中,我们大多数都是使用已有的类库来开发Windows应用程序。MFC(MicrosoftFoundationClass,微软基础类库)是微软为了简化程序员的开发工作而将WindowsAPI封装到C++类中,利用这些类,程序员可以有效地完成Windows平台下应用程序的开发。本专题将详细剖析它。二、利用向导创建一个MFC程序用于帮助有效地开发Windows应用程序的类库除了MFC外,还有其他开源类库提供,比如说QT,只是QT不是微

2、软开发的罢了,为了更好地剖析MFC,下面让我们用VisualStudio中的MFC模板和向导工具来创建一个基于MFC的单文档(SDI)应用程序。1.启动Visualstudio2010,单击文件(FIle)菜单——>新建项目——>项目,在出现的项目窗口中选择VisualC++语言,然后选择MFC应用程序,并输入项目的名称为SDIMFC,具体如下图所示。    2. 输入项目名称后点击确定按钮,将出现MFC应用程序向导窗口,点击下一步,应用程序类型选择:单个文档,如下图所示:      3.点击下一步,出现

3、MFC向导的第三个对话框,复合文档支持保持默认选择,然后在出现的对话框中一直点击下一步来完成一个单文档MFC应用程序的创建。下面,按下Ctrl+F5来运行MFC应用程序,http://mz.qqtop1.com之后将看到我们创建的MFC应用程序界面,具体如下图所示:在上面的程序中,我们并没有编写任何代码,运行它后就生成了一个带标题栏,系统菜单,具有最大化、最小化框和一个可调边框的应用程序,这一切的工作都是由MFC的向导工具帮我们完成,即该向导工具为我们生成了很多代码,下面就以这个简单的MFC程序来分析下M

4、FC框架。三、MFC框架详细解析我们看下用MFC向导工具帮我们生成的哪些代码。你可以在VS中点击类视图选项卡(如果VS界面上没有看到类视图的,http://wangming.78name.com可以通过菜单栏视图—>类视图的方式显示出来),就可以看到如下图所示的类。从上图可以发现,在MFC中,类的命名都是以字母“C”开头的,这种命名方式只是一种约定,让开发人员很快识别出该类是否属于MFC类库中的类。从图片可以看到,前面创建的单文档应用程序中有15个类,但这里我们只分析4个基本类,因为这4个基本类是每个Wi

5、ndows应用程序都会包含的,这4个类是:CMainFrame类、C+工程名(SDIMFC)+App类、C+工程名+Doc类(即CSDIMFCDoc类)和CSDIMFCView类(也是C+工程名+View的结构)。这4个类的基类都是MFC中类,基类的查看可以通过在VS类视图点击图标。关于MFC中类图层次结构图可以参考MSDN:http://msdn.microsoft.com/zh-cn/library/ws8s10w4.aspx,下图(摘自MSDN)很好地诠释了MFC中层次结构图类别。3.1MFC应用程

6、序中的WinMain函数前面对我们创建的MFC应用程序结构进行了一个简单的介绍,下面让我们深入剖析MFC应用程序的实现原理,在前一专题讲到,所有Window下窗口应用程序都要遵循这样一个过程:程序首先进入WinMain函数,然后设计窗口类、注册窗口类、创建窗口、显示和更新窗口、最后进入消息循环,将消息传递给窗口过程函数进行处理。然后在MFC应用程序中,我们使用VS的查找工具在MFC项目中查看WinMain函数却找不到,再查看CreateWindow函数也找不到,那么是不是MFC应用程序不需要WinMain

7、函数,不需要创建窗口吗?这个疑问答案肯定是否定的,因为MFC应用程序一样是Windows应用程序,所以一定遵循上一专题介绍的过程,只是MFC提供的类帮我们对这些类进行了封装,这些函数都存在于MFC的源代码中,下面我们一起去找找程序的入口WinMain函数。既然WinMain函数存在与MFC源码中,自然我们就要知道MFC源码在哪里了,在安装Visualstudio的时候,我们已经安装了MFC的源代码,具体路径为:VS的安装路径VCatlmfcsrcmfc,如果你本机把VS安装到D:ProgramF

8、iles(x86)的话,则MFC源代码路径在:D:ProgramFiles(x86)MicrosoftVisualStudio10.0VCatlmfcsrcmfc。下面利用Windows搜索工具查看WinMain函数的存在那个C++类中,在搜索之前,需要设置下Windows搜索工具,默认情况下,Windows搜索工具搜索内容在没有索引的位置,只搜索文件名的,这里需要设置为搜索文件名和内容,具体设置如下图所示(Win

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

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

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