MFC教程.docx

上传人:b****5 文档编号:2882811 上传时间:2022-11-16 格式:DOCX 页数:32 大小:288.15KB
下载 相关 举报
MFC教程.docx_第1页
第1页 / 共32页
MFC教程.docx_第2页
第2页 / 共32页
MFC教程.docx_第3页
第3页 / 共32页
MFC教程.docx_第4页
第4页 / 共32页
MFC教程.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

MFC教程.docx

《MFC教程.docx》由会员分享,可在线阅读,更多相关《MFC教程.docx(32页珍藏版)》请在冰豆网上搜索。

MFC教程.docx

MFC教程

01章用向导创建文档窗口

MFC教程是小雅最怕写的内容,除了水平问题之外,还有一点就是,MFC将许多程序封装起来,使众多程序员在编程时,即使编出了程序,也不知究竟为什么这样就可以了。

这一现象使小雅想到当今的Java程序员,许多人在开发外包项目时,因为整个FrameWork已经建成,自己只是担当其中一部分功能,出了BUG之后,找原因非常困难。

在SDK教程中,小雅将各种功能进行详细解说,而MFC教程中,只是用例子来讲解MFC的原理,学会原理之后,就会感到MFC比SDK编程省了许多事。

小雅在SDK教程中,为了讲明API功能,用的方法都是C语言的方法,而MFC用的全是C++的内容,因此,学习MFC必须对C++有较深的了解,不会C语言、C++语言而能够学会MFC的人只能是吹牛。

小雅的“C语言教程”和“C++语言教程”都是按照标准C/C++来写的,在Unix、Linux、Windows都适用,这是很重要的基础。

SDK教程主要是让初学者明白WindowsAPI的功能,以及程序的实现方法,基本上是“C语言+API”,而MFC基本上是“C+++API”。

SDK编程和MFC是可以相互转化,相互调用的,因为MFC封装了绝大部分API,但不是所有的API函数。

注意:

SDK并不是只能用C语言来写,用C++一样编程,小雅在作教程时为了把内容说清楚,同时兼顾不会C++的人员才使用C语言。

对于初学者,小雅建议在C/C++的基础上用MFC来编程,一是省去了很多编程,二是用上了C++的面向对象编程的思想。

当今要找一个C++的项目来一边做一边学是很困难的。

小雅自己也一直想找一个C++的工作而未能如愿。

通过学习MFC再反过来加强一下学的不是很深的C++,不是很好的一个方法吗?

不过,MFC和SDK与C/C++不同点在消息事件处理方面,初学者要学会这一内容。

关于“VC.NET”有“托管”和“非托管”二种编程方式,小雅的SDK教程和MFC教程全部是“非托管”编程,也就是传统编程。

微软自己说“托管”方式是为传统编程人员的过渡,既然是过渡的产物,小雅也就不去浪费时间精力去写这种教程了,如果想用“托管”编程,还不如直接用C#或VB.NET。

一、创建一个单文档窗口

MFC编程很大程度上要借助于集成环境中的各种工具,下面我们也通过工具来生成一个基本的窗口程序,再通过这个程序来了解MFC的各主要的类、基本类,学会图标、菜单、资源视图、类视图、解决方案资源管理器、对象浏览器的使用。

创建一个单文档窗口的步骤是:

∙用菜单的“文件”→“新建”→“项目”打开“新建项目”对话框。

 

∙在“新建项目”对话框中分别选择设置①类型为“VisualC++项目”、②“MFC”、③模板为“MFC应用程序”、④名称为“Test”⑤位置为“C:

\MFC”。

其中④和⑤可自由设定。

最后按“确定”按钮进入“MFC应用程序向导”对话框。

 

 

∙在“MFC应用程序向导”对话框中,①选择菜单“应用程序类型”、②选择“单文档”选项。

最后按“完成”按钮结束。

 

 

二、生成后的文件的作用

生成的文件的作用可以在ReadMe.txt便可知道。

当然,后面章节中小雅将对每一部分详细剖析。

================================================================================

MICROSOFT基础类库:

Test项目概述

===============================================================================

应用程序向导已为您创建了此Test应用程序。

此应用程序不仅介绍了使用Microsoft基

础类的基本知识,而且是编写应用程序的起点。

此文件包含组成Test应用程序的每个文件的内容摘要。

Test.vcproj

这是使用“应用程序向导”生成的VC++项目的主项目文件。

它包含有关生成文件的VisualC++版本的信息,以及有关用“应用程序向导”所选择

的平台、配置和项目功能的信息。

Test.h

这是应用程序的主头文件。

它包含其他项目特定的头文件(包括Resource.h),并声

明CTestApp应用程序类。

Test.cpp

这是包含应用程序类CTestApp的主应用程序源文件。

Test.rc

这是程序使用的所有MicrosoftWindows资源的列表。

它包含存储在RES子目录中的图

标、位图和光标。

可直接在MicrosoftVisualC++中编辑此文件。

项目资源包含在

2052中。

res\Test.ico

这是一个图标文件,用作应用程序的图标。

此图标包含在主资源文件Test.rc中。

res\Test.rc2

此文件包含不由MicrosoftVisualC++编辑的资源。

应将所有不能由资源编辑器编辑的

资源放在此文件中。

/////////////////////////////////////////////////////////////////////////////

对于主框架窗口:

项目将包含标准的MFC界面。

MainFrm.h,MainFrm.cpp

这些文件包含框架类CMainFrame,该类派生自CFrameWnd并控制所有的SDI框架功能。

res\Toolbar.bmp

此位图文件用于创建工具栏的平铺图像。

初始工具栏和状态栏在CMainFrame类中构造。

使用资源编辑器编辑此工具栏位图,并更新Test.rc中的IDR_MAINFRAMETOOLBAR数组

以添加工具栏按钮。

/////////////////////////////////////////////////////////////////////////////

应用程序向导将创建一种文档类型和一个视图:

TestDoc.h、TestDoc.cpp-文档

这些文件包含CTestDoc类。

编辑这些文件以添加特殊的文档数据并实现文件的保存和

加载(通过CTestDoc:

:

Serialize)。

TestView.h、TestView.cpp-文档视图

这些文件包含CTestView类。

CTestView对象用于查看CTestDoc对象。

/////////////////////////////////////////////////////////////////////////////

其他功能:

ActiveX控件

应用程序支持使用ActiveX控件。

打印支持和打印预览支持

应用程序向导已生成了一些代码,通过从MFC库调用CView类中的成员函数来处理打印、

打印设置和打印预览命令。

/////////////////////////////////////////////////////////////////////////////

其他标准文件:

StdAfx.h、StdAfx.cpp

这些文件用于生成名为Test.pch的预编译头文件(PCH)和名为StdAfx.obj的预编译类型

文件。

Resource.h

这是标准头文件,它定义新资源ID。

MicrosoftVisualC++将读取并更新此文件。

/////////////////////////////////////////////////////////////////////////////

其他说明:

应用程序向导使用“TODO:

”来指示应添加或自定义的源代码部分。

如果应用程序在共享DLL中使用MFC,且应用程序使用的语言不是操作系统的当前语言,则需

要从MicrosoftVisualC++光盘上Win\System目录下将相应的本地化资源MFC70XXX.DLL

复制到计算机的system或system32目录下,并将其重命名为MFCLOC.DLL。

(“XXX”代表

语言缩写。

例如,MFC70DEU.DLL包含翻译成德语的资源。

)如果不这样做,应用程序的某

些UI元素将保留为操作系统的语言。

02章用向导创建对话框窗口

一、应用程序的窗口种类

Windows应用程序的窗口类型主要有二种即文档类型(Document)和对话框类型(Dialog),通常说的表单类型(Form)是介于这2种类型之间,主要是对话框类型。

VB.NET、C#等主要就是这种表单类型的窗口,实现起来相当简单。

文档类型的应用程序的界面,大部分区域用于文字或画图等读写操作,常见的有Word、Excel、写字板等。

文档类型的窗口又分单文档和多文档2种类型。

所谓多文档类型就是在一个窗口框架内有多个子窗口,常见的有Word、Excel、当前编写VC++的IDE等。

单文档类型当然就不可能有多个子窗口了,常见的有附件中的写字板、画图等。

文档类型的窗口的编程相对对话框来说要复杂得多,是我们学习的主要对象。

对话框类型的界面中使用了很多控件,输入输出主要是针对控件,常见的有计算器、音量控制等。

编程相对比较简单,另外公共对话框也是这种类型,不过不需要任何编程,因为这些是操作系统的东西,只调用就可以了。

对话框类型是日常我们编程用的最多的,也就是表单类型。

另外,对话框类型也可以象文档类型一样进行文字、画图等处理,而文档类型窗口中同样也可以使用控件。

对于文档窗口一般可以改变大小,并且有滚动条,背景多数为白色。

而对话框窗口的大小一般是固定的,背景一般是淡灰色,没有滚动条,通常有OK、Cancel等按钮。

要注意,对话框窗口有模态和非模态2种类型。

所谓模态对话框就是当前对话框不关闭,就不能切换到调用该对话框的父窗口;而所谓非模态窗口就是不关闭当前对话框,也同样可以切换到调用该对话框的父窗口。

绝大多数对话框都是模态方式,非模态方式比较少,例如VC.net集成环境中按Ctrl+F弹出的“查找”对话框就是非模态方式。

二、创建一个基于对话框的窗口

在上一章生成单文档应用程序的最后一步中,选择“基于对话框”后再按“完成”按钮。

 

三、阅读原程序的方法

下面,我们要学会用用四种工具来查看或修改生成好的程序。

①解决方案资源管理器(以前称为项目管理器);②类视图;③资源视图;④属性。

 

 

“解决方案资源管理器”中显示项目中的所有文件,如果要删除一个既存的程序,或添加一个新程序或头文件等,都是利用这个工具来完成。

“资源视图”中包含菜单、鼠标光标、对话框、图标、工具条、字符串常量表、版本信息表、快捷键、HTML等,在“解决方案资源管理器”中鼠标双击后缀为rc的文件便可打开“资源视图”。

添加、修改、删除“资源”都是在“资源视图”中操作。

这些“资源”文件其实都是文本文件,内容基本上是资源的定义(图标等除外),完全可以直接手动编写,但手动编写既容易出错,也不方便。

另外,对话框的设计还需要和“属性”工具一起使用,这些都是微软VisualStudio集成工具的基本使用常识,MFC教程中不再详细叙述。

“类视图”是学习MFC最重要的工具,小雅认为初学者要学会或者说习惯这个工具的使用。

一个很简单的程序,经过MFC生成之后,便是一个“庞大”的程序,初学者如果一行一行地去读,往往头晕目眩,越看越烦。

而通过“类视图”从整体上来分析,能很好地把握整个的设计思路,通过“类视图”能很准确地定位到你想编程的“位置”。

例如,添加类成员变量或成员函数,消息处理等,利用工具,多个地方的程序将被同进更新。

通过“类视图”还可以很方便地看

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

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

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