课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt

上传人(卖家):三亚风情 文档编号:3177565 上传时间:2022-07-28 格式:PPT 页数:118 大小:611KB
下载 相关 举报
课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt_第1页
第1页 / 共118页
课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt_第2页
第2页 / 共118页
课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt_第3页
第3页 / 共118页
课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt_第4页
第4页 / 共118页
课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt_第5页
第5页 / 共118页
点击查看更多>>
资源描述

1、2022/7/281MFC编程入门简明教程编程入门简明教程原著:Marshall Brain编译:张圣华2022/7/282MFC 编程入门编程入门n 本阶段课程的目的是帮助你理解和掌握本阶段课程的目的是帮助你理解和掌握 Visual C+MFC Visual C+MFC 编程的基本概念和技术。很多编程的基本概念和技术。很多人使用人使用 Visual C+Visual C+,开始于开始于 AppWizardAppWizard,使用使用它建立一程序框架,然后就不知道下一步该如它建立一程序框架,然后就不知道下一步该如何是好了。这主要是因为不理解何是好了。这主要是因为不理解 AppWizard Ap

2、pWizard 所所产生的产生的 MFC MFC 代码的含义。所以你必须了解和掌代码的含义。所以你必须了解和掌握握 MFC MFC 代码结构,才能继续下去。代码结构,才能继续下去。n 课程将从最基础的出发,向你介绍驱动课程将从最基础的出发,向你介绍驱动 MFC MFC 程序的基本概念。使你能更好地理解程序的基本概念。使你能更好地理解 MFC MFC 和和 AppWizard AppWizard 所产生的代码。所产生的代码。2022/7/283n 第一部分第一部分 MFC MFC 导论导论 n 第二部分第二部分 一个简单的一个简单的 MFC MFC 程序程序 n 第三部分第三部分 MFC MFC

3、 样式样式 n 第四部分第四部分 消息映射消息映射 目 录2022/7/284第一部分第一部分MFC导论导论 Visual C+不仅仅是一个编译器。它是一个全面不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象的应用程序开发环境,使用它你充分利用具有面向对象特性的特性的 C+来开发出专业级的来开发出专业级的 Windows 应用程序。应用程序。为了能充分利用这些特性,你必须理解为了能充分利用这些特性,你必须理解 C+程序设程序设计语言。掌握了计语言。掌握了C+,你就必须掌握你就必须掌握 Microsoft 基本类基本类库库(MFC)的层次结构。该层次的层次结构。该

4、层次 结构包容了结构包容了 Windows API 中的用户界面部分,并使你能够很容易地以面向对中的用户界面部分,并使你能够很容易地以面向对象的方式建立象的方式建立 Windows 应用程序。这种层次结构适用应用程序。这种层次结构适用于所有版本的于所有版本的 Windows 并彼此兼容。你用并彼此兼容。你用 MFC 所建所建立的代码是完全可移植的。立的代码是完全可移植的。2022/7/285本章将向你介绍本章将向你介绍 MFC 的基本概念和术语以的基本概念和术语以及事件驱动程序设计方法。及事件驱动程序设计方法。在本节中,你将会输入、编译和运行一个简在本节中,你将会输入、编译和运行一个简单的单的

5、MFC程序。下一节中将向你详细解释这些代程序。下一节中将向你详细解释这些代码。第三节讨论码。第三节讨论 MFC 控制和如何定制它们。第四控制和如何定制它们。第四节将介绍消息映射,你将会处理节将介绍消息映射,你将会处理 MFC 的事件。的事件。2022/7/286什么是什么是 MFC?如果你要建立一个如果你要建立一个 Windows 应用程序,应该如应用程序,应该如何下手?何下手?好的开端是从好的开端是从设计用户界面设计用户界面开始。首先,你要决开始。首先,你要决定什么样的用户能使用该程序并根据需要来设置相应定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象。的用户界面对象。Windo

6、ws 用户界面有一些标准的用户界面有一些标准的控制,如按钮、菜单、滚动条和列表等,这对那些控制,如按钮、菜单、滚动条和列表等,这对那些 Windows 用户已经是很熟悉了。用户已经是很熟悉了。要记住的是,作为要记住的是,作为程序员必须选择一组控制并决定如何把它们安排到屏程序员必须选择一组控制并决定如何把它们安排到屏幕上。传统上,你需要在纸上做一下用户界面的草图幕上。传统上,你需要在纸上做一下用户界面的草图,直到对各元素感到满意为止。这对于一些比较小的,直到对各元素感到满意为止。这对于一些比较小的项目,以及一些大项目的早期原型阶段是可以的。项目,以及一些大项目的早期原型阶段是可以的。2022/7

7、/287下一步,是要下一步,是要实现代码实现代码。为任何。为任何 Windows 平台建立应用程序时,程序员都有两种选择:平台建立应用程序时,程序员都有两种选择:C 或或 C+。使用使用 C,程序员是在程序员是在 Windows 应用程应用程序界面序界面(API)的水平上编写代码。该界面是由几的水平上编写代码。该界面是由几百个百个 C 函数所组成,这些函数在函数所组成,这些函数在Windows API 参参考手册中都有介绍。对于考手册中都有介绍。对于Windows NT,API 被称被称为为“Win32 API”,以区别于其用于以区别于其用于Windows 3.1的的16位位 API。2022

8、/7/288Microsoft 也提供了也提供了 C+库,它位于任何库,它位于任何 Windows API 之上,能够使程序员的工作更容易。之上,能够使程序员的工作更容易。它就是它就是Microsoft基本类库基本类库(MFC),该库的主要优该库的主要优点是效率高。它减少了大量在建立点是效率高。它减少了大量在建立 Windows 程序程序时必须编写的代码。同时它还提供了所有一般时必须编写的代码。同时它还提供了所有一般 C+编程的优点,例如继承和封装。编程的优点,例如继承和封装。MFC 是可移植的是可移植的,例如,在,例如,在 Windows 3.1下编写的代码可以很容易下编写的代码可以很容易地

9、移植到地移植到 Windows NT 或或 Windows 95 上。因此,上。因此,MFC 是很值得推荐的开发是很值得推荐的开发Windows 应用程序的方应用程序的方法,在本章自始至终使用的都是法,在本章自始至终使用的都是 MFC。2022/7/289 当使用当使用 MFC 时,你时,你编写编写的代码是用来的代码是用来建立必要建立必要的用户界面控制的用户界面控制并定制其外观。同时你还要编写用并定制其外观。同时你还要编写用来来响应用户操作这些控制的代码响应用户操作这些控制的代码。例如,如果用户。例如,如果用户单击一个按钮时,你应该有代码来响应。这就是事单击一个按钮时,你应该有代码来响应。这就

10、是事件驱动代码,它构成了所有应用程序。一旦应用程件驱动代码,它构成了所有应用程序。一旦应用程序正确的响应了所有允许的控制,它的任务也就完序正确的响应了所有允许的控制,它的任务也就完成了。成了。你可以看出,使用你可以看出,使用 MFC 进行进行 Windows 编程时编程时是一件是一件比较容易比较容易的的过程。本章的目的是比较详细的的过程。本章的目的是比较详细地教你如何快速建立专业级的应用程序的技术。地教你如何快速建立专业级的应用程序的技术。Visual C+应用程序开发环境特别适合于使用应用程序开发环境特别适合于使用 MFC(也有其它开发环境使用也有其它开发环境使用MFC),所以一起学习,所以

11、一起学习 MFC 和和 Visual C+能够增强你的开发程序的能力。能够增强你的开发程序的能力。2022/7/2810Windows词汇词汇 在在 Windows 用户界面和软件开发中所要用到的用户界面和软件开发中所要用到的词汇都是基本和唯一的。对于新接触该环境的用户,词汇都是基本和唯一的。对于新接触该环境的用户,下面复习几个定义以便使我们的讨论更加容易。下面复习几个定义以便使我们的讨论更加容易。Windows应用程序使用几个标准的应用程序使用几个标准的控制控制:静态文本标签静态文本标签 按钮按钮 列表框列表框 组合框组合框(一种更高级的列表框一种更高级的列表框)单选按钮单选按钮 检查按钮检

12、查按钮 编辑框编辑框(单行和多行单行和多行)滚动条滚动条2022/7/2811 你可以通过你可以通过代码代码或或“资源编辑器资源编辑器”来来建立这些控建立这些控制制,在资源编辑器中可以建立对话框和这些控制。在,在资源编辑器中可以建立对话框和这些控制。在本章中,我们将使用代码来建立它们。本章中,我们将使用代码来建立它们。Windows支持几种类型的应用程序窗口。一个支持几种类型的应用程序窗口。一个典型的应用程序应该活动在称为典型的应用程序应该活动在称为“框架窗口框架窗口”中。一中。一个个框架窗口框架窗口是一个全功能的主窗口,用户可以改变尺是一个全功能的主窗口,用户可以改变尺寸、最小化、最大化等。

13、寸、最小化、最大化等。Windows也支持两种类型的对话框:模式和无也支持两种类型的对话框:模式和无模式对话框。模式对话框。模式对话框模式对话框一旦出现在屏幕上,只有当一旦出现在屏幕上,只有当它退出时,屏幕上该应用程序的其余部分才能响应。它退出时,屏幕上该应用程序的其余部分才能响应。无模式对话框无模式对话框出现在屏幕上时,程序的其余部分也可出现在屏幕上时,程序的其余部分也可以作出响应,它就象浮动在上面一样。以作出响应,它就象浮动在上面一样。2022/7/2812最简单的最简单的 Windows 应用程序是使用应用程序是使用单文档界面单文档界面(SDI),只有一个框架窗口。只有一个框架窗口。Wi

14、ndows 的钟表、的钟表、PIF 编编辑器、记事本等都是辑器、记事本等都是 SDI 应用程序的例子。应用程序的例子。Windows 也提供了一种称为也提供了一种称为多文档界面多文档界面(MDI)的的组织形式,它可用于更复杂的应用程序。组织形式,它可用于更复杂的应用程序。MDI 系统允系统允许用户在同一应用程序中同时可以查看多个文档。例许用户在同一应用程序中同时可以查看多个文档。例如,一个文本编辑器可以允许用户同时打开多个文本如,一个文本编辑器可以允许用户同时打开多个文本文件。使用文件。使用 MDI 时,应用程序有一个时,应用程序有一个主窗口主窗口,在主,在主窗口中有一些窗口中有一些子窗口子窗

15、口,每个子窗口中各自包含有各自,每个子窗口中各自包含有各自的的文档文档。在。在MDI框架中,主窗口有一个框架中,主窗口有一个主菜单主菜单,它对,它对主框架中最顶端窗口有效。各子窗口都可以缩成主框架中最顶端窗口有效。各子窗口都可以缩成图标图标或展开,或展开,MDI主窗口也可以变成桌面上的一个主窗口也可以变成桌面上的一个图标图标。MDI界面可能会给你一种第二桌面的感觉,它对窗口界面可能会给你一种第二桌面的感觉,它对窗口的管理和删除混乱的窗口有很大的帮助。的管理和删除混乱的窗口有很大的帮助。2022/7/2813 你所建立的每一个应用程序都会使用它自己的你所建立的每一个应用程序都会使用它自己的一套控

16、制、菜单结构以及对话框。应用程序界面的一套控制、菜单结构以及对话框。应用程序界面的好坏取决于你如何选择和组织这些界面对象。好坏取决于你如何选择和组织这些界面对象。Visual C+中的资源编辑器可以使你能容易的中的资源编辑器可以使你能容易的建立和定制这些界面对象。建立和定制这些界面对象。2022/7/2814事件驱动软件和词汇事件驱动软件和词汇 所有基于窗口的所有基于窗口的 GUI 都包含相同的基本元素,都包含相同的基本元素,它们的操作方式都是相同的。在屏幕上,用户所看它们的操作方式都是相同的。在屏幕上,用户所看到的是一组窗口,每个窗口都包含有控制、图标、到的是一组窗口,每个窗口都包含有控制、

17、图标、对象以及一些处理鼠标和键盘的元素。对象以及一些处理鼠标和键盘的元素。从用户角度来看,各系统的界面对象都是相同从用户角度来看,各系统的界面对象都是相同的:按钮、滚动条、图标、对话框以及下拉菜单等的:按钮、滚动条、图标、对话框以及下拉菜单等等。尽管这些界面元素的等。尽管这些界面元素的“外观和感觉外观和感觉”可能有些可能有些不同,但这些界面对象的工作方式都是相同的。例不同,但这些界面对象的工作方式都是相同的。例如,滚动条对于如,滚动条对于Windows和和Macintosh可能有些不同可能有些不同,但他们的作用完全是一样的。,但他们的作用完全是一样的。2022/7/2815从程序员的角度来看,

18、这些系统在概念上是从程序员的角度来看,这些系统在概念上是相似的,尽管它们可能有很大的不同。为了建立相似的,尽管它们可能有很大的不同。为了建立 GUI 程序,程序员程序,程序员第一步第一步要把所有需要的要把所有需要的用户界面用户界面控制控制都放到窗口上。都放到窗口上。例如,如果程序员要建立一个从摄氏到华氏的例如,如果程序员要建立一个从摄氏到华氏的转换的简单程序,则程序员要选择转换的简单程序,则程序员要选择用户界面对象用户界面对象来来完成并在屏幕上把结果显示出来。在这个简单的程完成并在屏幕上把结果显示出来。在这个简单的程序中,程序员可能需要用户在一个序中,程序员可能需要用户在一个可编辑的编辑框可编

19、辑的编辑框中输入温度值,在一个中输入温度值,在一个不可编辑的编辑框不可编辑的编辑框中显示转中显示转换结果,然后让用户可以单击一个标有换结果,然后让用户可以单击一个标有“退出退出”的的按钮按钮来退出应用程序。来退出应用程序。2022/7/2816因为是用户来操作应用程序的控制,所以程因为是用户来操作应用程序的控制,所以程序必须作出响应。所做的响应依赖于用户使用鼠标序必须作出响应。所做的响应依赖于用户使用鼠标或键盘在不同控制上的操作。屏幕上的每个或键盘在不同控制上的操作。屏幕上的每个用户界用户界面对象面对象对事件的对事件的响应响应是不同的。例如,如果用户单是不同的。例如,如果用户单击退出按钮,则该

20、按钮必须更新屏幕、加亮它自己击退出按钮,则该按钮必须更新屏幕、加亮它自己。然后程序必须响应退出。然后程序必须响应退出。Windows 所用的模式也是类似的。在一个典所用的模式也是类似的。在一个典型的应用程序中,你将建立一个型的应用程序中,你将建立一个主窗口主窗口,并且在其,并且在其中放置了一些中放置了一些用户界面控制用户界面控制。这些控制通常被称为。这些控制通常被称为子窗口子窗口它们就象一些在主窗口中的更小更特殊它们就象一些在主窗口中的更小更特殊的子窗口。作为程序员,你应该通过函数调用来发的子窗口。作为程序员,你应该通过函数调用来发送信息操作这些控制、通过把信息发送给你的代码送信息操作这些控制

21、、通过把信息发送给你的代码来响应用户的操作。来响应用户的操作。2022/7/2817如果你从未做过事件驱动程序设计,则所有如果你从未做过事件驱动程序设计,则所有这些对你来说可能是很陌生的。但是,这些对你来说可能是很陌生的。但是,事件驱动程事件驱动程序设计方式序设计方式是很容易理解的。具体的细节对不同的是很容易理解的。具体的细节对不同的系统可能有些不同,但是其基本概念是类似的。系统可能有些不同,但是其基本概念是类似的。在一个事件驱动界面中,应用程序会在屏幕上在一个事件驱动界面中,应用程序会在屏幕上绘制几个绘制几个界面对象界面对象,如,如按钮按钮、文本区文本区和和菜单菜单。应用。应用程序通常通过一

22、段称为程序通常通过一段称为事件循环事件循环的的代码代码来响应用户来响应用户的操作。的操作。用户可以使用鼠标或键盘来任意操作屏幕上的用户可以使用鼠标或键盘来任意操作屏幕上的对象。例如,用户用鼠标单击一个按钮。用鼠标单对象。例如,用户用鼠标单击一个按钮。用鼠标单击就称为一个击就称为一个事件事件。事件驱动系统把用户的动作如。事件驱动系统把用户的动作如鼠标单击和键盘操作定义为事件,也把系统操作如鼠标单击和键盘操作定义为事件,也把系统操作如更新屏幕定义为事件。更新屏幕定义为事件。2022/7/2818在比较低级的编程方法中,如用在比较低级的编程方法中,如用C直接编写直接编写Windows API 应用程

23、序,代码量是非常大的,因为应用程序,代码量是非常大的,因为你所要照顾的细节太多了。你所要照顾的细节太多了。例如,你用某种类型的结构来接收单击鼠标事例如,你用某种类型的结构来接收单击鼠标事件。你的事件循环中的代码会查看结构中不同域,件。你的事件循环中的代码会查看结构中不同域,以确定哪个用户界面对象受到了影响,然后会完成以确定哪个用户界面对象受到了影响,然后会完成相应的操作。相应的操作。当屏幕上有很多对象时,应用程序会变得很大当屏幕上有很多对象时,应用程序会变得很大。只是简单地处理哪个对象被单击和对它需要做些。只是简单地处理哪个对象被单击和对它需要做些什么就要花费大量的代码。什么就要花费大量的代码

24、。2022/7/2819 幸运的是,你可以用比较高级的方法来进行编幸运的是,你可以用比较高级的方法来进行编程,这就是使用程,这就是使用MFC。在在MFC中,几乎所有的低级的细节处理都为中,几乎所有的低级的细节处理都为你代办了。如果你把某一用户界面对象放在屏幕上你代办了。如果你把某一用户界面对象放在屏幕上,你只需要两行代码来建立它。如果用户单击一个,你只需要两行代码来建立它。如果用户单击一个按钮,则按钮自己会完成一切必要的操作,从更新按钮,则按钮自己会完成一切必要的操作,从更新屏幕上的外观到调用你程序中的预处理函数。该函屏幕上的外观到调用你程序中的预处理函数。该函数包含有对该按钮作出相应操作的代

25、码。数包含有对该按钮作出相应操作的代码。MFC 为你处理所有的细节:你建立按钮并告为你处理所有的细节:你建立按钮并告知它特定的处理函数,则当它被按下时,它就会调知它特定的处理函数,则当它被按下时,它就会调用相应的函数。第四节介绍了怎样使用消息映射来用相应的函数。第四节介绍了怎样使用消息映射来处理事件。处理事件。2022/7/2820例子例子 理解一个典型的理解一个典型的 MFC 程序的结构和样式的最好方法是程序的结构和样式的最好方法是输入一段小程序,然后编译和运行它。下面的程序是一段简单输入一段小程序,然后编译和运行它。下面的程序是一段简单的的“hello world”程序。这对很多程序。这对

26、很多C程序员都是很熟悉了,让我程序员都是很熟悉了,让我们看一下如何用们看一下如何用MFC方法来实现。如果你是第一次看到这类方法来实现。如果你是第一次看到这类程序,也许比较难理解。这没关系,我们后面会详细介绍。现程序,也许比较难理解。这没关系,我们后面会详细介绍。现在你只要用在你只要用Visual C+环境中建立、编译和运行它就可以了。环境中建立、编译和运行它就可以了。2022/7/2821/hello.cpp#include /说明说明应用程序类 class CHelloApp:public CWinApp public:virtual BOOL InitInstance();/建立应用程序类

27、的实例 CHelloApp HelloApp;/说明说明主窗口类 class CHelloWindow:public CFrameWnd CStatic*cs;public:CHelloWindow();2022/7/2822/每当应用程序首次执行时都要调用的初始化函数 BOOL CHelloApp:InitInstance()m_pMainWnd=new CHelloWindow();m_pMainWnd-ShowWindow(m_nCmdShow);m_pMainWnd-UpdateWindow();return TRUE;/窗口类的构造函数 CHelloWindow:CHelloWind

28、ow()/建立窗口本身 Create(NULL,Hello World!,WS_OVERLAPPEDWINDOW,CRect(0,0,200,200);/建立静态标签 cs=new CStatic();cs-Create(hello world,WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(50,80,150,150),this);2022/7/2823 上面的这段程序如果用上面的这段程序如果用C来实现,得需要几页来实现,得需要几页的代码。这个简单的例子做了三件事。的代码。这个简单的例子做了三件事。第一,它建立了一个第一,它建立了一个应用程序对象应用程序对象。你所编写

29、。你所编写的每个的每个 MFC 程序都有一个单一的程序对象,它是程序都有一个单一的程序对象,它是处理处理 MFC 和和 Windows 的的初始化细节初始化细节的。的。第二,应用程序第二,应用程序建立了建立了一个窗口来作为应用程一个窗口来作为应用程序的序的主窗口主窗口。最后,在应用程序的窗口中最后,在应用程序的窗口中建立了建立了一个一个静态文静态文本标签本标签,它包含有,它包含有“hello world”几个字。在第二节几个字。在第二节中我们会仔细研究这段程序,以理解其结构。中我们会仔细研究这段程序,以理解其结构。2022/7/2824启动启动 VC+,如果你是刚刚安装好,则你会如果你是刚刚安

30、装好,则你会在屏幕上看到一个带有工具栏的空窗口。如果在屏幕上看到一个带有工具栏的空窗口。如果 VC+已经在该机器上使用过了,则所显示的窗口已经在该机器上使用过了,则所显示的窗口可能有些不同,因为可能有些不同,因为 VC+会记忆和自动重新打开会记忆和自动重新打开上次使用后退出时的项目和文件。我们需要的是它上次使用后退出时的项目和文件。我们需要的是它没有装如任何项目和代码。没有装如任何项目和代码。如果程序启动后弹出对话框指示不能打开某些如果程序启动后弹出对话框指示不能打开某些文件,你只要单击文件,你只要单击“No”即可。在即可。在“Window”菜单菜单中选取中选取“Close All”选项关闭所

31、有窗口。在选项关闭所有窗口。在“File”菜单中选取菜单中选取“Close”选项来关闭其它窗口。现在,选项来关闭其它窗口。现在,你就处于开始状态了。你就处于开始状态了。2022/7/2825 如果你以后不希望看到如果你以后不希望看到“InfoViewer Topic”窗口窗口,你可以把它关掉。如果以后需要的话,你还可以,你可以把它关掉。如果以后需要的话,你还可以打开该窗口。打开该窗口。现在一切都正常了。正如你所看到的,顶部是现在一切都正常了。正如你所看到的,顶部是菜单和几个工具栏。左边的窗口所显示的是在线帮菜单和几个工具栏。左边的窗口所显示的是在线帮助内容,你可以双击某项标题来浏览其内容。在线

32、助内容,你可以双击某项标题来浏览其内容。在线帮助的内容是十分丰富的。帮助的内容是十分丰富的。现在该做什么了?你所要做的是输入上面的程现在该做什么了?你所要做的是输入上面的程序,然后编译并运行它。开始之前,要检查以下你序,然后编译并运行它。开始之前,要检查以下你的硬盘上至少要留有的硬盘上至少要留有5MB的剩余空间。的剩余空间。2022/7/2826建立项目和编译代码建立项目和编译代码 为了在为了在 Visual C+中编译代码,你必须要建立中编译代码,你必须要建立一个项目。为了这么小的程序来建立一个项目可能有一个项目。为了这么小的程序来建立一个项目可能有点小题大作,但是,在任何实际的程序中,项目

33、的概点小题大作,但是,在任何实际的程序中,项目的概念是非常有用的。一个项目主要保存着下面三种不同念是非常有用的。一个项目主要保存着下面三种不同类型的信息类型的信息:1.它可以它可以记住建立一个可执行程序所需要的所记住建立一个可执行程序所需要的所有源程序代码文件有源程序代码文件。在这个简单的例子中,文件在这个简单的例子中,文件 HELLO.CPP 是唯是唯一的源文件,但是在一个大型的应用程序中,为了便一的源文件,但是在一个大型的应用程序中,为了便于管理和维护,你可以会有许多个不同的源文件。项于管理和维护,你可以会有许多个不同的源文件。项目会维护这些不同文件的列表,并当你要建立下一个目会维护这些不

34、同文件的列表,并当你要建立下一个新的可执行程序时,在必要时编译它们。新的可执行程序时,在必要时编译它们。2022/7/28272.它它会记住针对你的应用程序所使用的编译器和会记住针对你的应用程序所使用的编译器和链接器选项链接器选项。例如,它会记住把哪个库连接到了执行。例如,它会记住把哪个库连接到了执行程序中,你是否预编译了头文件等等。程序中,你是否预编译了头文件等等。3.它它会记住你想要建立的项目类型会记住你想要建立的项目类型:一个控制台一个控制台应用程序,或一个窗口应用程序等等。应用程序,或一个窗口应用程序等等。如果你已经对项目文件有所了解,则会很容易如果你已经对项目文件有所了解,则会很容易

35、明白作为机器产生的项目文件的作用。现在,我们来明白作为机器产生的项目文件的作用。现在,我们来建立一个简单的项目,并用它来编译建立一个简单的项目,并用它来编译 HELLO.CPP。2022/7/2828 首先从首先从“File”菜单中选择菜单中选择“New”选项。在选项。在“Projects”标签标签中,单击中,单击“Win32 Application”。在在“Location”域中输入一个合域中输入一个合适的路径名或单击适的路径名或单击“Browse”按钮来选择一个。在按钮来选择一个。在“Project name”中输入中输入“hello”作为项目名称。这时候你会看到作为项目名称。这时候你会看

36、到“hello”也会出现在也会出现在“Location”域中。单击域中。单击“OK”按钮。按钮。Visual C+会会建立一个新的称为建立一个新的称为 HELLO 的目录,并把所有的项目文件的目录,并把所有的项目文件 HELLO.OPT、HELLO.NCB、HELLO.DSP 和和 HELLO.DSW 都放到该目录中。如果你退出,以后再重新打开该项目,则可都放到该目录中。如果你退出,以后再重新打开该项目,则可选择选择 HELLO.DSW。现在,在屏幕的左边,出现了三个标签。现在,在屏幕的左边,出现了三个标签。InfoView 标签仍标签仍然在,又新出现了然在,又新出现了 ClassView 和

37、和 FileView 标签。标签。ClassView 标签标签会把你程序中所有的类都列出来,会把你程序中所有的类都列出来,FileView 标签给出了项目中标签给出了项目中文件的列表。文件的列表。2022/7/2829 现在可以输入程序的代码了。在现在可以输入程序的代码了。在“File”菜单中选菜单中选择择“New”选项来建立一个编辑窗口。在出现的对话框选项来建立一个编辑窗口。在出现的对话框中,选择中,选择“Files”标签和标签和“Text File”。则会出现则会出现 Visual C+的智能编辑器,你可以用它来输入上面的的智能编辑器,你可以用它来输入上面的程序代码。输入代码时,你会发现编

38、辑器会自动把不程序代码。输入代码时,你会发现编辑器会自动把不同类型的文本变成不同的颜色,如注释、关键字字符同类型的文本变成不同的颜色,如注释、关键字字符串等的颜色都不同。如果你要改变其颜色或关闭颜色串等的颜色都不同。如果你要改变其颜色或关闭颜色功能,可选择功能,可选择“Tools”菜单中菜单中“Options”选项,然后选项,然后选择选择“Format”标签和标签和“Source Windows”选项就可以选项就可以修改。修改。输入完代码后,选择输入完代码后,选择“File”菜单中的菜单中的“Save”选选项来保存。在项来保存。在 Visual C+新建立的目录中,把它存成新建立的目录中,把它

39、存成 HELLO.CPP 文件。文件。2022/7/2830现在选择在现在选择在“Project”菜单中选择菜单中选择“Add To Project”选项,再选选项,再选“Files.”。你会看到一个对话框你会看到一个对话框供你选择要添加的文件。在本例子中,选择供你选择要添加的文件。在本例子中,选择 HELLO.CPP 文件。文件。在屏幕的左边,单击在屏幕的左边,单击 FileView 标签,并双击标标签,并双击标有有 HELLO 的图标。你会看到名为的图标。你会看到名为 HELLO.CPP 的的文件。单击文件。单击 ClassView 标签,并双击文件夹图标,你标签,并双击文件夹图标,你会看

40、到程序中所有的类。任何时候你都可以使用会看到程序中所有的类。任何时候你都可以使用 FileView 来删除项目的文件,你只要单击该文件,然来删除项目的文件,你只要单击该文件,然后按键盘上的后按键盘上的 delete 键。键。最后,此时你必须告诉项目要使用最后,此时你必须告诉项目要使用MFC库。如库。如果你忽略了这一步,则项目在链接时会出错,而出错果你忽略了这一步,则项目在链接时会出错,而出错信息对你毫无帮助。信息对你毫无帮助。2022/7/2831 选择选择“Project”菜单的菜单的“Settings”。在出现的对在出现的对话框中选择话框中选择“General”标签。在标签。在“Micro

41、soft Foundation Classes”组合框中,选择组合框中,选择“Use MFC in a Shared DLL”。然后关闭对话框。然后关闭对话框。我们已经建立了项目文件,并调整了设置,你我们已经建立了项目文件,并调整了设置,你现在可以准备编译现在可以准备编译 HELLO.CPP 程序了。在程序了。在“Build”菜单中,你会发现有三个不同的编译选项:菜单中,你会发现有三个不同的编译选项:1.Compile HELLO.CPP(只有当含有只有当含有 HELLO.CPP 的窗口处于激活状态时才可的窗口处于激活状态时才可)2.Build HELLO.EXE 3.Rebuild All

42、2022/7/2832第一个选项第一个选项只是编译源文件只是编译源文件并并形成形成它们的它们的目标目标文件文件。该选项不能完成链接任务,所以它只对快速。该选项不能完成链接任务,所以它只对快速编译一些源文件以检查错误有用。第二个选项编译一些源文件以检查错误有用。第二个选项编译编译自上次编译后所修改的自上次编译后所修改的所有源文件所有源文件,并链接形成可并链接形成可执行文件执行文件。第三个选项要。第三个选项要重新编译和链接所有的源重新编译和链接所有的源文件。文件。我们可以选择我们可以选择“Build HELLO.EXE”来编译和来编译和链接代码。链接代码。Visual C+会建立一个名为会建立一个

43、名为“Debug”的的新子目录,并把新子目录,并把 HELLO.EXE 放在该目录中。该子放在该目录中。该子目录的文件都是可以再产生的,所以你可以任意删目录的文件都是可以再产生的,所以你可以任意删除它们。除它们。2022/7/2833 如果你发现了编译错误,双击输出窗口中的错误信息。这如果你发现了编译错误,双击输出窗口中的错误信息。这时编辑器会把你带到出错的位置处。检查你的代码是否有问题时编辑器会把你带到出错的位置处。检查你的代码是否有问题,如果有,就修改之。如果你看到大量的链接错误,则可能你,如果有,就修改之。如果你看到大量的链接错误,则可能你在建立项目对话框中所指定的项目类型不对。你可以把

44、该项目在建立项目对话框中所指定的项目类型不对。你可以把该项目所在的子目录删除,然后再重新按上面的步骤来建立。所在的子目录删除,然后再重新按上面的步骤来建立。为了为了执行该程序执行该程序,你可选择,你可选择“Build”菜单中的菜单中的“Execute HELLO.EXE”选项。你就可以看到你的第一个选项。你就可以看到你的第一个MFC程序了程序了-出现一个带有出现一个带有“hello world”的窗口。该窗口本身带有:标题栏的窗口。该窗口本身带有:标题栏、尺寸缩放区、最大和最小按钮等等。在窗口中,有一个标有、尺寸缩放区、最大和最小按钮等等。在窗口中,有一个标有“hello world”的字串的

45、字串。请注意,该程序是完整的。你可以移动请注意,该程序是完整的。你可以移动窗口、缩放窗口、最小化等。你只使用了很少的代码就完成了窗口、缩放窗口、最小化等。你只使用了很少的代码就完成了一个完整的一个完整的 Window 应用程序。这就是使用应用程序。这就是使用 MFC 的优点。所的优点。所有的细节问题都有有的细节问题都有MFC来处理。来处理。2022/7/2834结论结论 在本节中,我们已经成功地编译和执行了第一在本节中,我们已经成功地编译和执行了第一个个 MFC 程序。你将来会用类似的步骤来建立应用程序。你将来会用类似的步骤来建立应用程序。你可以为每个项目建立单独的目录,或建立程序。你可以为每

46、个项目建立单独的目录,或建立一个单独的项目文件,然后再添加或删除不同的源一个单独的项目文件,然后再添加或删除不同的源文件。文件。在下一节中,我们将仔细研究该程序,你会更在下一节中,我们将仔细研究该程序,你会更完整的理解它的结构。完整的理解它的结构。2022/7/2835第二部分第二部分 一个简单的一个简单的MFC程序程序 在本节,我们将一段一段地来研究上一节中提在本节,我们将一段一段地来研究上一节中提到的到的 MFC MFC 应用程序,以便能理解它的结构和概念框应用程序,以便能理解它的结构和概念框架。我们将先介绍架。我们将先介绍 MFCMFC,然后再介绍如何用然后再介绍如何用 MFC MFC

47、来来建立应用程序。建立应用程序。MFC简介简介 MFC 是一个很大的、扩展了的是一个很大的、扩展了的 C+类层次结构,它能使类层次结构,它能使开发开发 Windows 应用程序变得更加容易。应用程序变得更加容易。MFC 是在整个是在整个 Windows 家族中都是兼容的,也就是说,无论是家族中都是兼容的,也就是说,无论是 Windows 3.x、Windows95 还是还是 Windows NT,所使用的所使用的 MFC 是兼容的。是兼容的。每当新的每当新的 Windows 版本出现时,版本出现时,MFC也会得到修改以便使旧也会得到修改以便使旧的编译器和代码能在新的系统中工作。的编译器和代码能

48、在新的系统中工作。MFC也会得到扩展,也会得到扩展,添加新的特性,变得更加容易建立应用程序。添加新的特性,变得更加容易建立应用程序。2022/7/2836 与传统上使用与传统上使用 C 语言直接访问语言直接访问 Windows API相相反,使用反,使用 MFC 和和 C+的优点是的优点是 MFC 已经包含和压已经包含和压缩了所有标准的缩了所有标准的“样板文件样板文件”代码,这些代码是所有代码,这些代码是所有用用 C 编写的编写的 Windows 程序所必需的。因此用程序所必需的。因此用 MFC 编写的程序要比用编写的程序要比用C语言编写的程序小得多。另外,语言编写的程序小得多。另外,MFC

49、所编写的程序的性能也毫无损失。必要时,你所编写的程序的性能也毫无损失。必要时,你也可以直接调用标准也可以直接调用标准 C 函数,因为函数,因为 MFC 不修改也不不修改也不隐藏隐藏 Windows 程序的基本结构。程序的基本结构。使用使用 MFC 的的最大优点最大优点是是它为你做了所有最难做它为你做了所有最难做的事的事。MFC 中包含了上成千上万行正确、优化和功中包含了上成千上万行正确、优化和功能强大的能强大的 Windows 代码。你所调用的很多成员函数代码。你所调用的很多成员函数完成了你自己可能很难完成的工作。从这点上讲,完成了你自己可能很难完成的工作。从这点上讲,MFC 极大地加快了你的

50、程序开发速度极大地加快了你的程序开发速度。2022/7/2837 MFC 是很庞大的。例如,版本是很庞大的。例如,版本 4.0 中包含了大约中包含了大约200 个不同的类。万幸的是,你在典型的程序中不需个不同的类。万幸的是,你在典型的程序中不需要使用所有的函数。事实上,你可能要使用所有的函数。事实上,你可能只需要使用其中只需要使用其中的十多个的十多个 MFC MFC 的不同类就可以建立一个非常漂亮的程的不同类就可以建立一个非常漂亮的程序。序。该层次结构大约可分为几种不同的类型的类:该层次结构大约可分为几种不同的类型的类:应用程序框架应用程序框架 图形绘制的绘制对象图形绘制的绘制对象 文件服务文

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(课件:《网络程序设计》第04章附录1-VC++MFC-简明教程.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|