vc消息机制剖析

vc消息机制剖析

ID:30790295

大小:72.50 KB

页数:10页

时间:2019-01-03

vc消息机制剖析_第1页
vc消息机制剖析_第2页
vc消息机制剖析_第3页
vc消息机制剖析_第4页
vc消息机制剖析_第5页
资源描述:

《vc消息机制剖析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC中消息机制剖析消息是指什么?消息系统对于一个Win32程序来说I-分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,

2、ujWindows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息木身是作为一个记录传递给应用程序的,这个记录屮包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标吋的坐标。这个记录类型叫做MSG,MSG含有來自windows应用程序消息队列的消息信息,它在Windows中声明如下:

3、typedefstructtagMsg{HWNDhwnd;接受该消息的窗口句柄UlNTmessage;消息常量标识符,也就是我们通常所说的消息号WPARAMwParam;32位消息的特定附加信息,确切含义依赖于消息值LPARAMIParam;32位消息的特定附加信息,确切含义依赖于消息值DWORDtime;消息创建吋的吋间POINTpt;消息创建时的鼠标/光标在屏幕坐标系中的位置}MSG;消息可以由系统或者应用程序产生。系统在发生输入事件时产生消息。举个例子,当用户敲键,移动鼠标或者单击控件。系统也产生消息以响应由应用程序带来的变化,比如应用程序改变系统字体改变窗体人小。应用

4、程序可以产生消息使窗体执行任务,或者与其他应用程序屮的窗口通讯。消息中有什么?我们给出了上而的注释,是不是会对消息结构有了一个比较清楚的认识?如果还没有,那么我们再试着给出下面的解释:hwnd32{v:的窗口旬柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护人多数町视对象的句柄(窗口、对话框、按钮、编辑框等)。message用于区别其他消息的常量值,这些常量对以是Windows单元中预定义的常最,也可以是白定义的常冕。消息标识符以常量命名的方式指出消息的含义。当窗口过程接收到消息之示,他就会使用消息标识符来决定如何处理消息。例如、WM_PAINT告诉窗口过程窗体客户区

5、被改变了需要重绘。符号常最指定系统消息属于的类别,其前缀指明了处理解释消息的窗体的类型。wParam通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。IParam通常是一个指向内存中数据的指针。由于WParam>IParam和Pointer都是32位的,因此,它们之间可以相互转换。消息标识符的值系统保留消息标识符的值在0x0000在0x03ff(WM_USER-1)范亂这些值被系统定义消息使用。应用程序不能使用这些值给自己的消息。应用程序消息从WM_USER(0X0400)至IJ0X7FFF,或0XC000至ijOXFFFF;WM_USER至U0X7FFF范围的消息由应

6、用程序口己使用;0XC000到OXFFFF范围的消息用来和其他应用程序通信,我们顺便说一下具有标志性的消息值:WMNULL…0x0000空消息。0x0001X0087OxOOAO—-0x00A90x0100---0x01080x0111---0x01260x0132—-0x01380x0200---0x020A0x0211---0x02130x0220-0x02300x03E0---0x03E8主要是窗口消息。非客户区消息键盘消息菜单消息颜色控制消息鼠标消息菜单循环消息多文档消息DDE消息0x0400WM_USER0x8000WM_APP0x0400---0x7FFF应用程序

7、自定义私有消息消息有哪几种?其实,windows中的消息虽然很多,但是种类并不繁杂,大体上有3种:窗口消息、命令消息和控件通知消息。窗口消息大概是系统中最为常见的消息,它是指山操作系统和控制其他窗口的窗口所使用的消息。例如CreateWindow>DestroyWindow和MoveWindow等都会激发窗口消息,还有我们在上面谈到的单击鼠标所产生的消息也是一种窗口消息。命令消息,这是一种特殊的窗口消息,他用来处理从一个窗口发送到另一个窗口的用户请求,例如按下一个按钮,他就会向主窗口发送一个命令消息。控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父

8、窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的滚动条都会产生通知消息。她类似于命令消息,当用户与控件窗口交互时,那么控件通知消息就会从控件窗口发送到它的主窗口。但是这种消息的存在并不是为了处理用户命令,而是为了让主窗口能够改变控件,例如加载、显示数据。例如按下一个按钮,他向父窗口发送的消息也可以看作是一个控件通知消息;单击鼠标所产生的消息可以由主窗口直接处理,然后交给控件窗口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。