Windows程序的消息循环.ppt

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows程序的消息循环

第10章 Windows窗体程序设计 Windows系统是一个基于视窗的消息驱动系统,即使功能大异的Windows程序都有比较规范统一的程序界面,如窗口、菜单、工具条、对话框等。 Windows程序的设计其实比较规范,但若不了解Windows程序的基本结构,程序调度的基本方法(即消息驱动的基本原理),以及每个程序都会用到的基本数据结构,也很难编写出有用的Windows程序来。 之所以在本章介绍API程序,就是基于上述考虑而设计的,尽管API程序设计在实际编程过程中已越来越少用了,但它却是理解Windows程序设计基本原理的最佳捷径,因为所有Windows程序的结构和执行过程最终大同于API程序。在此基础上学习Windows程序设计能够更清楚地理解程序运行之道! 本章的主题是VC++窗体及事件编程基础 “磨刀不误砍柴功!”,不是吗? 10.1 Windows程序设计基础 Windows系统的特点 标准的用户界面 多任务 设备独立性 动态链接 强大的内存管理 10.1 Windows程序设计基础 2. 基本术语 窗口(Window)由句柄唯一标识 对话框(Dialog)人机交互 图标(Icon)代表某一项操作或程序的图符 位图(Bitmap)用位模式形成的图像 菜单(Menu)命令 工具栏(ToolBar)常用的菜单项 状态栏(StateBar)操作状态或操作提示 10.1.1 窗口 窗口是Windows程序的基本单元,Windows程序的运行过程就是窗口内部、窗口之间及窗口与用户之间的信息交换过程。窗口通常包括菜单、工具条、滚动条、状态栏、命令按钮、对话框等元素。 10.1.2 消息 1. 事件 事件是指人们应用计算机的过程中发生的操作,如按下键盘上的某个按键、移动鼠标、单击鼠标左键、移动窗口及选择程序菜单等操作都是事件。 2、事件驱动 每发生一个事件,就会产生一个与之对应的特定消息,该消息会被Windows系统捕获,然后将通过此消息调用执行与之对应的程序代码,实现相应的程序功能。 因为从事件发生到相应程序代码被调用执行都是通过消息来实现的,因此事件驱动也常被称为消息驱动 10.1.2 消息 1、消息 消息是用于描述某个事件发生的信息,Windows程序设计的主要任务就是处理各种消息。每个消息都要携带许多信息,包括消息标识、接收消息的窗口、消息发生的时间以及消息的具体内容等。Windows用于表示消息的数据结构如下: typedef struct tagMSG { HWND hwnd; //接收消息的窗口 UINT message; //消息标识 WPARAM wParam; //附加信息 LPARAM lParam; //附加信息 DWORD time; //入队时间 POINT pt; //光标位置 } MSG; 10.1.2 消息 2、消息类型 (1)控制消息 由控件产生的消息,是控件和子窗口发给父窗口的消息WM_COMMAND通知消息。 (2)命令消息 来自用户接口对象。由用户操作菜单、工具条和加速键等用户界面对象产生的WM_COMMAND消息。 (2)标准Windows消息 除WM_COMMAND外,所有以WM_ 为前缀的消息称为标准消息。 10.1.2 消息 10.1.3 消息循环 1、消息队列 用于存放消息的队列,消息系统由Windows系统自动建立和维护。 Windows消息队列的类型 系统消息队列:由Windows系统维护管理的消息队列,每当有消息发生时,该消息将首先被存入系统消息队列。 应用程序消息队列:Windows系统会为每个应用程序建立一个独立的消息队列,用于存放该应用程序的消息。 10.1.3 消息循环 2、消息循环 每个应用程序都有一个循环机构,该循环机构则不断地重复查看程序自身的消息队列,如果队列中有消息,就将其取出并执行相应的消息处理代码,这个处理消息的循环机构称为消息循环。 10.1.3 消息循环 3、Windows程序调度的基本原理 每个Windows程序启动后,就等待用户在其窗口中进行操作。每个操作会引发一个事件,就会产生一个与之对应的特定消息。该消息会被Windows系统捕获。Windows系统对捕获的消息进行分析后,会将消息传递给产生它的应用程序的消息队列,每个应用程序的消息循环机构不断地重复查看它自已的消息队列,如果队列中有消息,就将其取出并执行相应的消息处理代码, 如果队列中没有消息就等待,当队列中有消息时

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档