Delphi5开发人员指南(五).pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
下载 第5章 理解Wi n d o w s消息 本章内容: • 什么是消息 • 消息的类型 • Wi n d o w s 的消息系统是如何工作的 • Delphi 的消息系统 • 消息处理 • 发送自己的消息 • 非标准的消息 • 一个消息系统的剖析:V C L • 消息与事件之间的关系 尽管V C L组件可以通过Object Pascal事件来响应Wi n 3 2消息,但是,作为一个Wi n 3 2程序员,理解 Wi n d o w s 的消息系统还是非常必要的。 作为一个D e l p h i应用程序开发者,你将发现,在大部分情况下使用 V C L 的事件就已经足够了,只 有少数情况才需要深入到 Wi n 3 2消息处理的世界。然而,作为一个 D e l p h i组件开发者,你将和消息成 为好朋友,因为你不得不直接处理许多Wi n d o w s消息。 5.1 什么是消息 消息,就是指Wi n d o w s发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变 窗口尺寸、按下键盘上的一个键都会使Wi n d o w s发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如, 对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做 T M s g ,它 在Wi n d o w s单元中是这样声明的: t y p e TMsg = packed record hwnd: HWND; / /窗口句柄 message: UINT; / /消息常量标识符 wParam: WPA R A M ; // 32位消息的特定附加信息 lParam: LPA R A M ; // 32位消息的特定附加信息 time: DWORD; / /消息创建时的时间 pt: TPoint; / /消息创建时的鼠标位置 e n d ; 消息中有什么? 是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释: hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可 视对象的句柄(窗口、对话框、按钮、编辑框等) 。 message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也 第5章 理解Wi n d o w s消息 1 1 5 下载 可以是自定义的常量。 wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。 lParam 通常是一个指向内存中数据的指针。由于W P a r a m 、l P a r a m和P o i n t e r都是3 2位的, 因此,它们之间可以相互转换。 现在你已对消息的组成有了一定了解,下面来看看各种类型的消息。 5.2 消息的类型 Wi n 3 2 中预定义了一些消息常量。消息常量由 T M s g 记录的 m e s s a g e 域来传递。这些常量是在 M e s s a g e s单元中定义的。消息常量往往以字母 W M 打头,代表Windows Message 。表5 - l列出了一些常 用的Wi n d o w s消息以及它们的含义和值。 表5-1 常用的Wi n d o w s消息 消息标识符 值 含 义 W M _ A C T I VAT E $ 0 0 0 6 窗口被激活或被取消激活 W M _ C H A R $ 0 1 0 2 按下某个键,并且已经发送了 W M _ K E Y D O W N和W M _

文档评论(0)

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

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

1亿VIP精品文档

相关文档