[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》

上传人:豆浆 文档编号:49770465 上传时间:2018-08-02 格式:PPT 页数:43 大小:505KB
返回 下载 相关 举报
[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》_第1页
第1页 / 共43页
[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》_第2页
第2页 / 共43页
[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》_第3页
第3页 / 共43页
[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》_第4页
第4页 / 共43页
[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》》由会员分享,可在线阅读,更多相关《[工学]《MFC应用开发技术》教学课件02-《Windows编程基础和MFC基础理论》(43页珍藏版)》请在金锄头文库上搜索。

1、MFC应用开发技术贵州大学人武学院信息工程系主讲人:主讲人:黄老邪黄老邪联系方式:联系方式: 电话:电话:1336869984813368699848,1331225679313312256793 QQQQ:287986791287986791,18033890181803389018 Email:Email: 友情连接:友情连接:http:/ http:/ http:/1第2章 Windows 编程基础和 MFC基本技术22.1 Windows编程基础3可视化开发系统 往往集成了一系 列系统可用资源 和开发工具程序调试工具 包括源程序语 法检查、可执 行程序修改和 运行监视等应用程序Help

2、 和Setup开发工 具包系统函数库和 系统函数开发 工具资源管理器,包 括图形化窗口及 组成元素的多种 对象的编辑器可选择并构成具体语句 或源程序结构的例程库 及Help源程序编辑 器和编译器其他功能4采用交互式方法时,可视化开发平台给出了许多选用 的对象,程序员可选择所需对象并确定其属性,由此 搭建起应用程序的“大框架”,并可根据需要进一步编 写必要的细节代码段,最后构成完整的应用程序Windows的 程序设计语言VC VB VJ都是“面向对象” 的程序设计语言对象是Windows 的规范部件窗口 菜单 按钮 对话框 程序模块编写Windows 程序相当一部分工 作是在创建对象和 为对象属

3、性赋值对象特征:具有规范形态和操作模式编程方法传统编写法API 交互式方法MFC5API是Win系统与 Win应用程序 间的标准程序 接口为应用程序提 供Win系统各 种特殊函数及 数据结构定义Win应用程序可 以利用上千个 标准API函数调 用系统功能API函数 的功能图形设备(GDI) 函数:实现与 设备无关的图 形操作功能系统服务函数: 实现与操作系统 有关的多种功能窗口管理函数 实现窗口的创 建、移动和修 改功能6MFC类库,集成了大量已经预先定义好的 类(class),用户可以根据编程的需要, 调用相应的类,或根据需要自定义有关 的类7利用Windows API函数和MFC类库编写

4、Windows应用程序必须首先了解以下内容: (1)窗口的概念 (2)事件驱动的概念 (3)句柄 (4)消息8窗口 一个应用程序的窗口一般包含下列成分:窗口边界工作区控制菜单框下拉菜单水平滚动条垂直滚动条最大化按钮最小化按钮标题栏9编写一个Windows应用程序首先应创建一个或多个窗口,随后 应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与 系统之间进行数据处理与数据交换的过程。应用程 序与用 户之间 交互的 接口环 境系统管理 应用程序 的基本单位Win应用程序 基本的操作单元10Windows程序设计针对事件或消息的处理进行。 消息是描述事 件发生的信息 (如按下鼠标或键盘)事件驱动

5、编程方法对于编写交互式程序很有用处,它 避免了死板的操作模式Windows程序的执行顺序取决于事件发生的顺序,程 序的执行顺序是由顺序产生的消息驱动的,但是消息 的产生往往并不要求有次序之分。事件驱动 11常用句柄类型及其说明句柄是一个4字节长的数值,用于标识 应用程序中不同的对象和同类对象中不 同的实例窗口 按钮 图标 滚动条 输出设备 控制 文件句柄应用程序通过 句柄访问相应 的对象信息HWND窗口句柄HDC设备环境句柄 HBITMAP位图句柄HCURSOR光标句柄 HICON图标句柄HFONT字体句柄 HMENU菜单句柄HPEN画笔句柄 HFILE文件句柄HBRUSH画刷句柄 HINST

6、ANCE 当前实例句柄12Windows应用程序利用Windows消息(Message)与应 用程序及系统进行信息交换。 窗口管理消息 初始化消息 输入消息 系统消息 剪贴板消息 控制处理消息 控制通知消息 滚动条通知消息 非用户区消息 MDI消息 DDE消息 应用程序自定义的消息Windows编 程常用消息132.2 Windows应用程序常用消息1. WM_LBUTTONDOWN:产生单击鼠标左键的消息此外,相似的消息还有: lWM_LBUTTONUP:放开鼠标左键时产生; lWM_RBUTTONDOWN:单击鼠标右键时产生; lWM_RBUTTONUP:放开鼠标右键时产生; lWM_LB

7、UTTONDBLCLK:双击鼠标左键时产生; lWM_RBUTTONDBLCLK:双击鼠标右键时产生。1Param高字节包含当前光标的Y坐标值低字节包含当前光标的X坐标值wParam包含一整 数值以标识鼠标 键的按下状态MK_LBUTTON按下鼠标左键 MK_MBUTTON按下鼠标中键 MK_RBUTTON按下鼠标右键142. WM_KEYDOWN:按下一个非系统键时产生的消息系统键是指实现系统操作的组合键,例如Alt与某 个功能键的组合以实现系统菜单操作等。3. WM_ CHAR:按下一个非系统键时产生的消息wParam为按键的ASCII码 1Param与WM_KEYDOWN的相同wPara

8、m:按下键的虚拟键码,用以标识按下或释放的键 1Param:记录了按键的重复次数、扫描码、转移代码、先前键 的状态等信息。相似的消息还有WM_KEYUP, 在放开非系统键时产生如F1的虚拟键码 在Windows.h文 件中定义为VK_F1154. WM_CREATE:由CreateWindow函数发出的消息wParam:未用 1Param:包含一个指向CREATESTRUCT数据 结构的指针5. WM_CLOSE:关闭窗口时产生的消息wParam和1Param均未用。6. WM_DESTROY:由DestroyWiodow函数发出的消息wParam和1Param均未用。167. WM_QUIT

9、:由PostQuitMessage函数发出的消息退出应用程序时发出的消息 wParam:含退出代码,标识程序退出运行时的有关信息 1Param:未用8. WM_PAINT用户区移动或显示用户窗口改变大小程序通过滚动条滚动窗口下拉式菜单关闭并需要恢复被覆盖的部分Windows清除对话框等对象,并需要恢复被覆盖的部分均产生 WM_PAINT 消息172.3 Windows中的事件驱动程序设计启动输入姓名输入第一次测试成绩输入第二次测试成绩输入第三次测试成绩计算平均成绩结束过程驱动方法计算平均成绩启动消息处理结束输入姓名输入第一次成绩输入第二次成绩输入第三次成绩计算平均成绩事件驱动方法计算平均成绩1

10、82.4 Windows应用程序组成及编程步骤 2.4.1 应用程序的组成一个完整的 Windows应用程序 通常由五种类型的 文件组成。1.C语言源程序文件 2.头文件 3.模块定义文件 4.资源描述文件 5.项目文件192.4.2源程序组成结构入口函数WinMain窗口函数WndProcWindows 应用程序构成基 本框架包含各种 数据类型 、数据结 构与函数 等1. 所有应用程序的入口,类似Main函数, 2. 完成一系列的定义和初始化,并产生消息循环WinMain和WinProc是 Windows应用程序的主体202.5MFC设计应设计应 用程序的基础础知识识在VC+的编程中,利用W

11、indows API函数进行编程时,大量的代 码需要用户自己编写,及其户编程的工作量较大。利用MFC和向导(Wizard)来编写Windows应用程序首先使用Class Wizard来生成Windows应用程序的基本框架然后用ClassWizard来建立应用程序的类、消息处理、数据 处理函数或定义控件的属性、事件和方法最后把各应用程序所要求的功能添加到类中212.5.1 MFC概述增强了对数据库应用程序的支持 利用DAO类通过编程语言来访问、操纵和管理数据库 对Internet也提供了强有力的支持MFC1.0 & MS C/C+7.0应用程序中非图形部分的类GUI功能的Windows相关类MF

12、C2.0 & MS VC+1.0在1.0基础上增添了一些应用程序MFC2.0 & MS VC+1.5添加了ODBC类,并且还支持OLE的性能MFC3.0 & VC+2.0增添了对开发32位应用程序的支持MFC4.0包含了在Win95和N中大多数新的公共控件和DAO、MAPIMFC4.21 22MFC还很好地保持了程序的向下兼容性MFC是用来编 写Windows 应用程序 的C+类集以层次结构组织封装了大部分API函数提供了图形环境下应用程序的框架提供了创建应用程序的组件提供了大量的基类供程序员根据不同的应用环境进行扩充允许在编程过程中自定义和扩展应用程序中的类较好的移植性,可移植于众多的平台2

13、32.5.2 MFC类的组织结构及主要的类的方法 2.5.2.1 MFC类的组织结构 1.根类:CObjectMFC中多数类和用户自 定义子类的根类,是抽 象基类。它提供了许多 编程所需的公共操作。对象的建立对象的删除运行时信息对象诊断输出串行化支持应用程序和线程支持类 命令相关类 文档类 文档模板类 视类(体系结构) 框架窗口(体系结构)应用程序体 系结构类窗口、对话 框和控件类框架窗口类(窗口) 视类(窗口) 对话框类 控件条类绘图和 打印类输出(设备相关)类 绘图工具类简单数据类型类数组、列表和映射类数组类 列表类 映射类24文件和数据库类文件I/O类 DAO类 ODBC类Interne

14、t和网络工作类LSAPI类 Windows Socket类 Win32 Internet类OLE类OLE容器类 OLE服务器类 OLE拖放和数据传输类 OLE普通对话框类 OLE动画类 OLE动画类 OLE控件类 活动文档类 其他文档类调试和异常类调试支持类 异常类252.5.2.3应用程序体系结构类1命令相关类:CCmdTarget类该类是CObject的子类,它是MFC库中所有具有消息映射属性的 基类。消息映射规定了当一对象接收到消息命令时,应调用哪 一个函数对该消息进行处理2窗口应用程序类:CWinApp类每个应用程序有且只有一个应用程序对象,在运行程序中该对 象与其它对象相互协调,该对

15、象从CWinApp类中派生出来。 CWinApp类封装了初始化、运行、终止应用程序的代码。应用程序体 系结构类1.命令相关类2.窗口应用程序类3.文档/视类4.线程基类编写程序的任务是 填充框架,添加应 用程序专用的功能用于构造应用程 序框架的结构, 提供多数应用程 序公用的功能263文档/视类文档对象由文档模板对象创建,管理应用程序的数据 。视对象表示一个窗口的客户区,显示文档数据并允 许用户与之交互4线程基类:CWinThread类所有线程的基类,可直接使用。CWinApp类就是 从CWinThread类中派生出来的272.5.2.4 可视对象类1窗口类:CWnd类Cwnd提供了MFC中所

16、有窗 口类的基本功能,是 CCmdTarget类的子类2视类:CView类该类表示框架窗口的客户区和显示文档数据并接收输入的客户区, 其派生类主要有如下几种: lCScrollView:具有滚动功能的视的基类 lCFormView:其布局在对话资源中定义的滚动视 lCEditView:具有文本编辑、查找、替换和滚动功能的视创建Windows 窗口要分两 步进行引入构造函数,构 造一个CWnd对象调用Create建立Windows窗 口,并将它连到CWnd对象上283菜单类:CMenu类该类是CObject类的子类,用于管理菜单。它是一个 Windows HMenu的封装,提供了与窗口有关的菜单资 源建立、修改、跟踪及删除的成员函数。4对话框类:CDialog类由于对话框是一个特殊的窗口,所以该类是从CWnd类 中派生出来的。对话框子层次结

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

当前位置:首页 > 行业资料 > 其它行业文档

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