网站大量收购闲置独家精品文档,联系QQ:2885784924

Windows消息机制..doc

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

Windows消息机制 Windows消息机制/ R5 D w2 c/ ]5 ` {9 I z 关键词: Windows? ? 消息? ? 消息机制? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? x! p% \5 p* a, ^/ {5 j. ^/ i/ s3 v/ J 摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。 ! y, Z. y5 z, O1 ^ @( `   什么是消息?, `9 @) ~ p, X* | ? : f! Y {% Y+ Z3 G4 h2 j2 x : [8 ^2 i+ ?! {3 S+ B$ _ 9 M: i( B8 R [+ E G/ I5 ]! Q  消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。: s. D+ s7 g# k 7 S3 ^6 n @2 ?- B8 b 2 z( Z# y2 K5 _0 ] 0 Q4 |1 j7 y: r  消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做MSG,MSG含有来自windows应用程序消息队列的消息信息,它在Windows中声明如下:# |- P x% y6 k+ v4 n! ^ 5 u. X, F3 y5 a/ \4 f5 ]4 t $ n5 x9 o4 ]$ F??l9 J9 G8 r+ x I1 x typedef struct tagMsg # Z0 c, m4 C1 }??C??k1 s; s{4 j: Z4 \; F X7 r4 I$ X HWND hwnd; 接受该消息的窗口句柄 9 _ W$ \( S I4 N, b- HUINT message; 消息常量标识符,也就是我们通常所说的消息号 ??e( S! i/ j??U N. `??RWPARAM wParam; 32位消息的特定附加信息,确切含义依赖于消息值 % }- u6 D- }- W4 o, ?LPARAM lParam; 32位消息的特定附加信息,确切含义依赖于消息值 * e) l q3 `: c$ J2 cDWORD time; 消息创建时的时间 0 Y+ q$ z+ ~8 X( y% z) HPOINT pt; 消息创建时的鼠标/光标在屏幕坐标系中的位置 ??M* i9 Y% F1 L1 g# s4 k}MSG; G4 G! J2 |9 J7 O a7 ` ??` `9 P8 s) \0 \$ _ ( J* u??q n+ O 0 J1 Y8 N+ }: C* p0 u. q  消息可以由系统或者应用程序产生。系统在发生输入事件时产生消息。举个例子, 当用户敲键, 移动鼠标或者单击控件。系统也产生消息以响应由应用程序带来的变化, 比如应用程序改变系统字体改变窗体大小。应用程序可以产生消息使窗体执行任务,或者与其他应用程序中的窗口通讯。 # L) X0 m% g1 b% L! i- W: D* I, @) x8 X+ p n! `, z ! [ L8 z( d0 G4 F+ o 1 U6 ~7 U; d) Q! a; w5 v* a  消息中有什么? / R. l4 K; C0 c, e H# |2 @, C$ n( k o+ k 3 W9 @( o4 ~ j + T, z, H# Q- B s0 W5 x/ _  我们给出了上面的注释,是不是会对消息结构有了一个比较清楚的认识?如果还没有,那么我们再试着给出下面的解释: 5 O% N! W) F W: I$ _+ Q1 `6 L. q; k( r6 ~ ( Q8 g* b% |# ^ Z/ o) w+ N, d( h, e* [! Q. c   hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。??O* ?7 ^ X T7 Y$ I9 g 0 V% D b) ~; y# F/ R ; x; H+ D( r2 J$ T8 B/ p0 | ! j. o( C! H??Q/ b  message用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是

文档评论(0)

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

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

1亿VIP精品文档

相关文档