第九章Windows编程基础.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章Windows编程基础

第9章 Windows编程基础 ; Windows 程序设计的基本概念Windows的事件驱动机制 Windows应用程序中常见的消息 Windows 程序设计的基本框架;9.1 Windows 程序设计基本概念;本章要点;2. Windows程序设计基本概念 (1)窗口 窗口是应用程序与用户之间交互的接口环境。用户可以通过窗口输入数据,控制应用程序的运行;应用程序可以通过窗口显示数据和状态。 (2)对象与句柄 对象是指Windows的规范部件,包括各种窗口、菜单、按钮、对话框以及程序模块等。 所谓句柄,就是一个唯一的整数值,是一个4字节长的数值,用以标识许多不同的对象类型,如窗口、菜单、内存、画笔、画刷和文件等。 由于Windows是一个多任务操作系统,它可以同时运行多个程序或一个程序的多个副本。Windows不仅使用句柄来管理实例,也用它来管理窗口、位图、字体、元文件和图标等系统资源。 常见的Windows对象句柄如表9-1所示,所有的句柄类型以H开头。;;(3)事件驱动 Windows应用程序以消息为基础,以事件驱动之。Windows应用程序启动之后将进入一个消息循环,等待系统或应用程序的消息,消息的产生是因为事件发生的结果,Windows程序设计主要围绕编写事件或消息的响应函数上。;(4)消息(Message)及其在Windows编程中的应用;Windows应用程序是由消息驱动的。Windows系统下每一个应用程序窗口都维护一个消息队列,操作系统接收和管理所有输入消息、系统消息,并把它们发送给相应窗口的消息队列。应用程序初始化完成后,进入消息循环,维护自己的消息队列,从中取出消息,并进行处理。 编写消息处理函数是Windows编程的主要工作之一。 系统传递给应用程序的消息数据是一个MSG结构体数据类型的数据。;消息的功能;消息的组成;在winuser.h中,消息结构体MSG的定义如下: typedef struct tagMSG???? // 消息 {? HWND hwnd; //目标窗口句柄 UINT message; //消息标识 WPARAM wParam; //消息参数1 LPARAM lParam; //消息参数2 DWORD time; //消息发送时间 POINT pt; //消息发送时鼠标的屏幕坐标 } MSG; 消息标识 message 是利用#define 宏定义好的消息名标识,是用于区别其他消息的常量值,每个Windows消息都有一个信息值,该值由windows.h头文件中的宏定义来标识。; Windows程序和Windows消息处理的基本流程 ;Windows消息分类; 在Win32中,消息统一由一个MSG结构来描述,每一条消息在消息队列中放置一个MSG结构变量。一般情况下,应用程序只需对结构中的消息类别message、附加参数wParam和lParam三个字段进行判断就可以区别一个消息。 ;系统保留消息标识符的值在0x0000在0x03ff(WM_USER-1)范围。这些值被系统定义消息使用。应用程序不能使用这些值给自己的消息。 应用程序消息从WM_USER(0X0400)到0X7FFF,或0XC000到0XFFFF;WM_USER到0X7FFF范围的消息由应用程序自己使用;0XC000到0XFFFF范围的消息用来和其他应用程序通信. WM_NULL---0x0000 空消息。 0x0001----0x0087 主要是窗口消息。 0x00A0----0x00A9 非客户区消息 0x0100----0x0108 键盘消息 0x0111----0x0126 菜单消息 0x0132----0x0138 颜色控制消息 0x0200----0x020A 鼠标消息 0x0211----0x0213 菜单循环消息 0x0220----0x0230 多文档消息 0x03E0----0x03E8 DDE消息 0x0400 WM_USER 0x8000 WM_APP 0x0400----0x7FFF 应用程序自定义私有消息 ;消息的传递;9.2 Windows 中的事件驱动; Windows中事件产生的消息由系统传递给应用程序,应用程序必须有一个消息循环接收消息和处理相应的消息。消息循环的实现如下: MSG msg???????????????????????? //定义一个MSG类型的变量 while

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档