vc++第1章vc++编程基础

上传人:子 文档编号:43307246 上传时间:2018-06-05 格式:DOC 页数:11 大小:20.61KB
返回 下载 相关 举报
vc++第1章vc++编程基础_第1页
第1页 / 共11页
vc++第1章vc++编程基础_第2页
第2页 / 共11页
vc++第1章vc++编程基础_第3页
第3页 / 共11页
vc++第1章vc++编程基础_第4页
第4页 / 共11页
vc++第1章vc++编程基础_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《vc++第1章vc++编程基础》由会员分享,可在线阅读,更多相关《vc++第1章vc++编程基础(11页珍藏版)》请在金锄头文库上搜索。

1、VC+VC+第第 1 1 章章 VC+VC+编程基础编程基础本文由 bbbyyy22 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。第 1 章C+编程基础 Visual C+编程基础教学目标了解 Windows 编程基础 了解 Windows 编程基础: 消息和事 Windows 编程基础: 资源管理、 设备独立性等概 件 、 资源管理 、 设备独立性 等概 念 了解 MFC 类的基础知识 了解 MFC 类的基础知识 MFC 熟练掌握用向导建立应用程序框 架 明确 MFC 应用程序结构 明确 MFC 应用程序结构 MFCC+程序设计 电子教案程

2、序设计 王明福编 Visual C+程序设计电子教案王明福编教学内容Windows 编程概念 1.1 Windows 编程概念 MFC 基础 1.2 MFC 基础 第一个 MFC MFC 应用程序 1.3 第一个 MFC 应用程序 1.4 应用程序分析返回Windows 编程概念 1.1 Windows 编程概念Windows 程序设计是基于事件驱动,程序的运行是由事件的发生来控制 的。消息驱动机制是 Windows 程序设计的精髓。 1.1.1 事件与消息 当用户按下一个键、移动鼠标或单击鼠标按钮时,计算机通知 Windows 系统已经发生了一个事件,以及事件的种类、发生的时间和发生的位置

3、(如坐标值) 。事件以如下三种方式产生: 通过输入设备,如键盘和鼠标,产生硬件事件。 通过屏幕上可视的对象,如菜单、工具栏按钮、滚动条和对话框上 的控件。 来自 Windows 内部,例如,当一个后面的窗口显示到前面来。 Windows 消息是在 Windows.h 文件中用宏定义的常数。消息常数名通常 为 WM_XXX,例如,WM_WUIT、WM_CHAR。 例如:当用户单击鼠标左键时,将发送 WM_LBUTTONDOWN 消息, 而双击则发送WM_LBUTTONDBLCLK 消息。1.1.2 消息驱动DOS 程序是由一系列预先定义好的操作序列的组合,具有一定的开头、中 间过程和结束,也就是

4、程序直接控制程序事件和过程的顺序。它的基本模型 如图 1-1(a)所示。 事件驱动的程序设计不是由事件的顺序来控制,而是由事件的发生来控 制,而这种事件的发生是随机的、不确定的,并没有预定的顺序。 它在程序设计过程中除了完成所需功能之外,更多地考虑了用户的各种 输入,并根据需要设计相应的处理程序。程序开始运行时,处于等待用户输 入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事 件状态。如图 1-1(b)所示。1.1.3 消息响应函数返回消息响应函数是用于处理特定消息的一些代码。例如,当用户点击 某菜单项时,希望程序弹出一个口令对话框,那么,只要在相应的消息处 理函数中编写弹出

5、一个口令对话框的代码。1.1.4 资源管理程序员设计任何应用程序均将涉及到诸如菜单、对话框、消息框以及 按钮等标准格式数据。Windows 将这些数据保存在资源文件中,程序员可 通过编辑工具编辑、修改这些资源文件,使其提供所需的菜单或按钮,并 将其放入设计的程序之中。1.1.5 设备独立性设备独立性或称设备无关性。在编程时,程序员不必关心诸如打印机、 鼠标、键盘、显示器、声卡、显示卡、CDROM 等多种设备的类型及其驱动 程序。Windows95/98/2000 提供了图形设备接口之类的各种抽象接口,使 得在程序中可以通过调用标准函数与硬件交互,这些函数通过设备环境的 数据结构,由 Windo

6、ws 操作系统将其映射到相应的物理设备,而程序员则 无需了解其提供的操作设备的各种指令。返回MFC 基础 1.2 MFC 基础VC+已集成了 MFC 库,VC+资源编辑器、AppWziard 和ClassWizard 明显 降低了应用程序编码的时间。AppWziard 为整个应用程序生成框架代码,同 时 ClassWizard 为消息处理程序生成原型和函数体。1.2.1 MFC 类库简介MFC(Microsoft Foundation Class)类库是用来编写 Windows应用程序的 C+类集,封装了大部分 Windows API 函数,所以使用MFC 类库和 VC+提 供的高度可视化的应

7、用程序开发工具,使开发变得简单。 MFC 类库包括 CObject 类及其派生类以及其他类。有这样一些重要的类(都 是 CObject 的派生类): 应用程序类 应用程序类 CWinApp。 CWnd 类及派生类 CWnd 类及派生类 类及派生类。 CDocument 及其派生类 CDocument 及其派生类 及其派生类。 File Services Graphical Drawing Graphical Drawing Services。 Drawing。 Objects。 Menus。 Objects。 Menus ODBC Database 和 DAO Database Support

8、。 Internet Services。等等。 ServicesMFC 应用程序框架 1.2.2 MFC 应用程序框架在 VC+6.0 中,MFC AppWizard 能方便地生成应用程序框架,然后在此基 础上进行进一步的编辑工作。MFC AppWizard 生成的应用程序包括这样一 些要素: WinMain 函数。Windows 要求应用程序必须有一个 WinMain 函数,它隐 WinMain 藏在应用程序框架中。 应用程序类 应用程序类。也称 CMyHelloApp。该类的每一个对象代表一个应用程 序。程序中默认定义一个全局 CMyHelloApp 对象,即 theApp。 应用程序启动

9、。启动应用程序时,Windows 调用应用程序框架内置的 应用程序启动 WinMain 函数,WinMain 寻找CWinApp 由派生出的全局构造的应用程序对 象。 成员函数 CMyHelloApp:InitInstance 成员函数CMyHelloApp:InitInstance CMyHelloApp:InitInstance。当WinMain 函数找到应用程 序对象时,它调用伪成员函数InitInstance,这个成员函数调用所需的构造 并显示应用程序的主框架窗口。必须在派生的应用程序类中重载 InitInstance,因为CWinApp 基类不知道需要什么样的主框架窗口。 成员函数C

10、WinApp:Run 成员函数 CWinApp:Run CWinApp:Run。函数 Run 隐藏在基类中,但是它发送应用程序 的消息到窗口,以保持应用程序的正常运行。在 WinMain 调用 InitInstance 之 后,便调用 Run。 CMainFrame 类 。类 CMainFrame 的对象代表应用程序的主框架窗口。 CMainFrame 类 当构造函数调用基类 CFrameWnd 的成员函数 Create 时,Windows 创建实 际窗口结构,应用程序框架把它连接到 C+对象,函数 ShowWindows 和 UpdateWindow 也是基类的成员函数,必须调用它们类显示窗

11、口。 文档与视图类 文档与视图类。这一部分比较复杂,会在后面的章节中单独提出详 细讲解。 关闭应用程序 关闭应用程序。如果用户通过关闭主框架窗口类关闭应用程序,这 个操作就将激发一系列事件的发生,包括CMainFrame 对象的析构、从 Run 中退出、从 WinMain 中退出和CMyHelloApp 对象的折构。返回MFC 消息映射及处理 1.2.3 MFC 消息映射及处理在 MFC 中,管理消息的方式是:当发生某一个消息(比如用户移动了鼠标 和按下键盘等)该消息进入消息队列,操作系统根据消息提供的信息决定 由那个应用程序来处理,该应用程序依照一定的方式查找应用程序中各个 类的消息映射(一

12、组宏,这些宏用来确定某个消息及相应的处理程序的对 应关系)找到处理程序,然后由处理程序执行。 MFC 程序要处理消息的种类如下: Windows 消息。以 WM_开头,但 WM_COMMAND 例外。通常由窗口和 视图来处理。 由控件和其他子窗口发送给父窗口的 WM_COMMAND 消息。这些消息 中包括 EN_CHANGE 通知码。如当用户在编辑框中键入文本或进行修改, 就回向系统发送一个带 EN_CHANGE 通知码的 WM_COMMAND 消息。 来自于用户界面对象的 WM_COMMAND 消息,如表 1-1 所示。这些用户 界面对象包括菜单、工具栏按钮和快捷键。系统在处理这些用户界面对

13、象 的消息和前面有所不同,我们来看看标准的处理方式。1.2.4 程序的运行过程如图 1-2 所示,当运行用户应用程 序时,程序中的框架首先获得控制权, 然后依次执行下述功能: (1) 做部分初始化工作。 (2) 构造应用程序的唯一应用类的对象, 构造应用类对象时要调用其构造函数。 (3) 调用 WinMain()函数(此函数也隐 藏在应用框架内部) 。 (4) 从 WinMain()函数返回后,删除应 用程序的唯一应用类的对象,删除时要 调用其析构函数。 (5) 终止应用程序。 (6) 进行退出应用程序前的收尾工作, 如删除注册的窗口类并释放其内存等。 (7) 返回返回返回第一个 MFC MF

14、C 应用程序 1.3 第一个 MFC 应用程序用 VC+编写 MFC 应用程序,是一种“填空式”的编 程方法,一般有三个步骤: (1) 创建工程:用 V C+ MFC AppWizard C+的MFC AppWizard 生成应用 程序的工程文件,即应用程序的基本框架。(2)可视化设计:用 VC+自带的工具软件 Winzards, 制作Windows 风格的图形用户界面和各种控件。 (3)编写代码:用 MFC ClassWizard 添加消息响应函数, 然后 VC+提供的文本编辑器和C+程序设计语言在函数 中编写代码。1.3.1 MyHello 应用程序 应用程序例程 MyHello.exe

15、运行结果如下图所示。主窗口显示字符串:“Hello, 我们开始 Visual C+编程了!” 。 MyHello 程序由以下两步完成: (1) 用 VC+6.0 的 MFC AppWizard,创建应用程序的基本窗口框架。 (2) 编写显示字符串:“Hello,我们开始 Visual C+编程了!”的代码。1.3.2 创建工程(1) 启动 启动 VC+,从“File”菜单中选择“New” ; 菜单中选择“ , 菜单中选择 ; (2) 在 New 对话框中选择“Project”标签 ,选择“MFC AppWizard(exe)”类 对话框中选择“ 对话框中选择 标签 选择“ 类 告诉 VC+即将

16、创建一个 即将创建一个 EXE 程序。 程序。 型,告诉 即将创建一个 程序 ( 3 ) 在 “ Project name” 文 本 编 辑 框 中 输 入 “ MyHello , 单 击 位 于 MyHello” , 框右边的小按钮, “Location”框右边的小按钮,再从下拉的对话框中选择 “D:MYVC” 框右边的小按钮 再从下拉的对话框中选择“ 目录,使新创建的工程文件放置在“ 目录之下。 目录,使新创建的工程文件放置在“D:MYVC”目录之下。 目录之下 程序的工程类型、 (分别指定了 MyHello.exe 程序的工程类型、工程名字和工程位置) 分别指定了 程序的工程类型 工程名字和工程位置)(4) 单击“OK”按钮。此时 Visual C+将显示 MFC AppWizard-Step 1 对话框。 (5)在 MFC AppWizard-Step 1 对话框中: Single Document 选项表示单文档界面,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号