windows消息机制

windows消息机制

ID:37714663

大小:193.20 KB

页数:6页

时间:2019-05-29

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

《windows消息机制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、windows消息机制消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。 基于windows的应用程序是基于事件驱动的。他们不会显式地调用函数获得输入,而是等待操作系统把输入传给应用程序。一个消息从产生到被一个窗口响应,其中有5个步骤:  1)系统中发生了某个事件。  2)Windows把这个事件翻译为消息,然后把它放到消息队列中。  3)应用程序从消息队列中接收到这个消息,把它存放在TMsg记录中。  4)应用程序把消息传递给一个适当的窗口的窗口过程。  

2、5)窗口过程响应这个消息并进行处理。一、消息类型消息主要分为两种:一是系统定义消息;二是自定义消息。(1)系统定义消息 每一个系统定义消息都有一个唯一的消息标识符和相对应的符号常量(在系统SDK的头文件中定义的),这些标识符和常量代表着消息意图。常量的前缀代表着可以解释处理消息的窗口的类型,一般情况下,第一个字母为控件的头一个字母,第二个字母是M的是消息(Message)常量,S是风格(Style)常量,N是通知、事件(Notify)。下面列出系统定义消息的前缀所代表的消息类别的清单。PrefixMessagecategoryABM    Applicat

3、iondesktoptoolbar BM     Buttoncontrol CB     Comboboxcontrol CBEM   ExtendedcomboboxcontrolCDM    Commondialogbox DBT    Device DL     Draglistbox DM     Defaultpushbuttoncontrol DTM    DateandtimepickercontrolEM     Editcontrol HDM    Headercontrol HKM    HotkeycontrolIPM    IPa

4、ddresscontrolLB     Listboxcontrol LVM    Listviewcontrol MCM    MonthcalendarcontrolPBM    Progressbar PGM    PagercontrolPSM    Propertysheet RB     RebarcontrolSB     Statusbarwindow SBM    Scrollbarcontrol STM    Staticcontrol TB     Toolbar TBM    Trackbar TCM    Tabcontrol T

5、TM    Tooltipcontrol TVM    Tree-viewcontrol UDM    Up-downcontrolWM     Generalwindow 在SDK中事先定义好的消息,非用户定义的,其范围在[0x0000,0x03ff]之间,还可以分为以下三类:1>窗口消息(WindowsMessage)与窗口的内部运作有关,如创建窗口,绘制窗口,销毁窗口等。可以是一般的窗口,也可以是Dialog,控件等。如:WM_CREATE,WM_PAINT,WM_MOUSEMOVE,WM_CTLCOLOR,WM_HSCROLL...2>命令消息(C

6、ommandMessage)与处理用户请求有关,如单击菜单项或工具栏或控件时,就会产生命令消息。WM_COMMAND,LOWORD(wParam)表示菜单项,工具栏按钮或控件的ID。如果是控件,HIWORD(wParam)表示控件消息类型3>控件通知(NotifyMessage)控件通知消息,这是最灵活的消息格式,其Message,wParam,lParam分别为:WM_NOTIFY,控件ID,指向NMHDR的指针。NMHDR包含控件通知的内容,可以任意扩展。(2)程序定义消息用户自定义的消息,对于其范围有如下规定:WM_USER:0x0400-0x7FF

7、F(ex.WM_USER+10)WM_APP(winver>4.0):0x8000-0xBFFF(ex.WM_APP+4)RegisterWindowMessage:0xC000-0xFFFF 应用程序定义消息的消息标识符取值定义规则应该遵循如下原则:  A.系统对0x0000到0x03ff(WM_USER-1)都保留为系统定义消息,因此应用程序不能使用这些值来定义应用程序定义消息。  B.取值范围为0x0400(WM_USER)-0x7FFF,可以用来定义自定义消息的消息标识符取值。  C.假如你的应用程序是在4.0上的系统运行,那么你可以使用0x800

8、0(WM_APP)-0xBFFF范围的值作为私有消息的标识符取值。

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

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

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