windows消息和消息队列实例详解

windows消息和消息队列实例详解

ID:37714021

大小:23.98 KB

页数:11页

时间:2019-05-29

windows消息和消息队列实例详解_第1页
windows消息和消息队列实例详解_第2页
windows消息和消息队列实例详解_第3页
windows消息和消息队列实例详解_第4页
windows消息和消息队列实例详解_第5页
资源描述:

《windows消息和消息队列实例详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本文详细讲述了windows消息和消息队列的原理与应用方法。分享给大家供大家参考。具体分析如下:与基于MS-DOS的应用程序不同,Windows的应用程序是事件(消息)驱动的。它们不会显式地调用函数(如C运行时库调用)来获取输入,而是等待windows向它们传递输入。windows系统把应用程序的输入事件传递给各个窗口,每个窗口有一个函数,称为窗口消息处理函数。窗口消息处理函数处理各种用户输入,处理完成后再将控制权交还给系统。窗口消息处理函数一般是在注册一个窗口的时候指定的。你可以从典型的SDK程序中窗口消息处理函数是怎么声明和实现的。对

2、于WindowsXP系统:如果顶层窗口停止响应消息超过几秒钟,系统会认为窗口无回应。在这种情况下,系统将隐藏这个窗口,然后生成一个影子(ghost)窗口覆盖在它上面。这个影子窗口具有着相同的Z轴顺序,位置,大小,显示属性。影子窗口允许用户将其移动,调整大小,甚至关闭(关闭的是停止响应的window)。此时只有这几个动作是被允许的,在调试模式下,系统不会生成影子窗口。本节讨论以下主题:Windows消息 1. 消息类型 2. 消息传递 3. 消息处理 4. 消息过滤 5. postmessage和sendmessage 6. 消息死锁 7.

3、 广播消息 8. 查询消息现分述如下:1.Windows消息windows通过消息的形式向窗口传递用户输入。消息可以由系统和应用程序生成。该系统会为每个输入事件产生相应的消息,例如,用户点击鼠标,移动鼠标或滚动条,或是应用程序改变了系统的某些属性,比如说系统更改了字体资源,改变了某个窗口的大小。不仅如此,应用程序可以生成消息,通告发送消息指定它的窗体去执行某些任务或者是与其他的应用程序交互。windows系统将消息发送到一个窗口消息处理函数时传递四个参数:窗口句柄,消息标识符,两个DWORD值(消息参数)。窗口句柄标识了该消息的目的窗口。

4、windows使用它来确定是哪个窗口的的窗口消息处理函数收到该消息。一个消息标识符是一个有名字的常量,用来表明消息的意义。当一个窗口处理函数收到一条消息,它根据判断消息标识符来决定如何处理该消息,例如,消息标识符WM_PAINT消息告诉窗口程序窗口的客户区已发生变化,必须重绘。消息参数(DWORD值)指定传递的数据或是数据的地址。消息参数可以是一个整型值,一个指针值。也可以为NULL。一个窗口过程必须根据消息标识符来确定如何解释消息参数。2.windows消息类型本节描述消息的两种类型:(1)系统定义的消息(2)应用程序定义的消息系统定义

5、的消息操作系统向应用程序发送消息来和应用程序通讯。操作系统通过消息控制应用程序的运行,向应用程序传递用户输入以及一些其他有用的信息。应用程序也可以发送系统定义的消息,应用程序通过这些消息去控制使用注册窗口类创建的控件的窗口的运行。每个系统定义的消息都有一个唯一的消息标识符和相应的符号常量(在windowsSDK的头文件里定义)。符号常量通常会表明系统定义的消息所属的类别。不同的前缀表明不同的类别。一下是常见的分类:   Prefix Messagecategory   WM       Generalwindow(一般的窗口)   ABM

6、       Applicationdesktoptoolbar(应用程序桌面工具条)   BM       Buttoncontrol(按钮控件)   CB       Comboboxcontrol(组合框控件)   CBEM Extendedcomboboxcontrol(扩展的组合框控件)   CDM       Commondialogbox(普通的对话框)   DBT       Device(设备)   DL       Draglistbox(下拉列表)   DM       Defaultpushbuttoncontro

7、l(默认按钮控件)   DTM       Dateandtimepickercontrol(日期和时间选择控件)   EM       Editcontrol(编辑控件)   HDM       Headercontrol(表头控件)   HKM       Hotkeycontrol(热键控件)   IPM       IPaddresscontrol(IP地址控件)   LB       Listboxcontrol (列表框控件)   LVM       Listviewcontrol(列表视图控件)   MCM       Mo

8、nthcalendarcontrol(数学日历控件)   PBM       Progressbar(进度条控件)   PGM       Pagercontrol()   PSM      

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

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

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