面向对象程序设计( C++ ) 高职软件专业 王明福 课件 第8章 Visual C++编程基础.ppt
文本预览下载声明
尚辅网 尚辅网 8.1 Windows编程概念 8.1.1 事件与消息 事件以如下三种方式产生: (1) 通过输入设备,如键盘和鼠标,产生硬件事件。 (2) 通过屏幕上可视的对象,如菜单、工具栏按钮、滚动条和对话框上的控件。 (3) 来自Windows内部,例如,当一个后面的窗口显示到前面来。 Windows将消息放入目标应用程序的消息对列中,在消息对列中所有消息都处于等待状态,直到应用程序准备处理它。 8.1.2 消息驱动 消息驱动也称事件驱动,Windows程序设计是基于事件驱动,Windows对消息有一套完善严格的定义,并在其产生时将其发送给所有相关的应用程序,这些消息用于驱动应用程序运行以实现一定的功能。 事件驱动的程序设计不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的用户用各种合理的顺序来安排程序的流程。 图8-1 过程驱动与事件驱动模型之比较 8.2 Windows程序结构 8.2.1 简单的Windows应用程序 【例8-1】一个简单的Windows应用程序(MyChap8_1) ? 控制台应用程序是以main函数作为进入程序的初始入口点,但在Windows应用程序中,main函数被WinMain函数取而代之。 ? 每一个Windows应用程序都需要Windows.h头文件,它还包含了其它的Windows头文件。这些头文件定义了Windows的所有数据类型、函数调用、数据结构和符号常量。 ? 程序中,MessageBox是一个Win32 API函数,用来弹出对话框,显示信息。 【例8-2】一个较完整的Windows应用程序(MyChap8_2)。 程序说明如下: 1. WinMain()函数 2.注册窗口类 3.创建窗口 4.显示和更新窗口 5.消息循环 6.消息处理函数 7.结束消息循环 8.2.2 Windows编程特点 ? 消息驱动机制; ? 设备独立性; ? 基于资源的程序设计; ? 动态链接库 8.2.3 Windows基本数据类型 8.3 MFC编程基础 8.3.1 认识MFC 8.3.2 MFC应用程序框架 8.3.3 MFC消息映射及处理 8.3.4 消息响应函数 8.3.5 程序的运行过程 8.4 第一个MFC应用程序 用Visual C++6.0的MFC编写Windows应用程序,是一种“填空式”的编程方法,一般有三个步骤: 8.4.1 MyHello应用程序 8.4.2 创建工程 8.4.3 编写程序代码 8.4.4 编译运行MyHello应用程序 8.5 应用程序分析 8.6资源 Visual C++6.0可以处理的资源有:菜单(Menu)、图标(Icon)、对话框(Dialog)、位图(Bitmap)、快捷键(Accelerator)、工具栏(Toolbar)、光标(Cursor)、描述信息(Version)和字符串表(String Table)。 习题八 1.Windows程序设计的特点是什么? 2.Windows应用程序的优点是什么? 3. MFC AppWizard(应用向导)可以创建哪几类应用程序?各有何特点? 4. 请用MFC AppWizard创建一个基于对话框的应用程序,列出所创建的类,并与MyHello工程比较,观察他们的异同。 5.Visual C++的集成开发环境提供了哪些资源编辑器? * 尚辅网 第8章 Visual C++编程基础 本章要点 通过本章的学习,使读者: ? Windows编程基本概念,以及消息驱动的程序结构 ? Win32应用程序的结构和特点 ? MFC编程基础、利用向导建立一个应用程序框架 ? MFC程序的界面设计:包括菜单、工具栏上按钮、对话框等 ? 资源的创建与维护:包括鼠标资源、快捷键、菜单、工具栏等 尚辅网 尚辅网 尚辅网 尚辅网 尚辅网 尚辅网 WinMain函数的原型如下: int WINAPI WinMain( HINSTANCE hInstance, //当前实例句柄 HINSTANCE hPrevInstance, //以前的实例句柄 LPSTR lpCmdLine, //指向命令行参数的指针 int nCmShow) //窗口的显示标志 尚辅网 尚辅网 尚辅网 如何实现?? 尚辅网 while (GetMessage(msg, NULL, 0, 0)) { TranslateMessage(msg); //转换某些键盘消息 DispatchMessage(msg); //将消息发送给窗口过程, 这里是WnProc
显示全部