表A-1 Windows消息分布
消息范围 |
说 明 |
0 ~ WM_USER – 1 |
系统消息 |
WM_USER ~ 0x7FFF |
自定义窗口类整数消息 |
WM_APP ~ 0xBFFF |
应用程序自定义消息 |
0xC000 ~ 0xFFFF |
应用程序字符串消息 |
> 0xFFFF |
为以后系统应用保留 |
表A-2 常用Windows消息
消息名称 |
值 |
说 明 |
WM_NULL |
0x0000 |
空消息,此消息将被接收窗口忽略 |
WM_CREATE |
0x0001 |
应用程序创建一个窗口 |
WM_DESTROY |
0x0002 |
一个窗口被销毁 |
WM_MOVE |
0x0003 |
移动一个窗口 |
WM_SIZE |
0x0005 |
改变一个窗口的大小 |
WM_ACTIVATE |
0x0006 |
一个窗口被激活或失去激活状态 |
WM_SETFOCUS |
0x0007 |
获得焦点后 |
WM_KILLFOCUS |
0x0008 |
失去焦点 |
WM_ENABLE |
0x000A |
应用程序Enable状态改变时产生 |
WM_SETREDRAW |
0x000B |
设置窗口是否能重画 |
WM_SETTEXT |
0x000C |
应用程序发送此消息来设置一个窗口的文本 |
WM_GETTEXT |
0x000D |
应用程序发送此消息来复制对应窗口的文本到缓冲区 |
WM_GETTEXTLENGTH |
0x000E |
得到与一个窗口有关的文本的长度(不包含空字符) |
WM_PAINT |
0x000F |
要求一个窗口重绘自己 |
WM_CLOSE |
0x0010 |
当一个窗口或应用程序要关闭时发送一个信号 |
WM_QUERYENDSESSION |
0x0011 |
用户选择结束对话框或应用程序自己调用ExitWindows()函数 |
WM_QUIT |
0x0012 |
用来结束程序运行或应用程序调用Postquitmessage()函数来产生此消息 |
WM_QUERYOPEN |
0x0013 |
当用户窗口恢复以前的大小位置时,把此消息发送给某个图标 |
WM_ERASEBKGND |
0x0014 |
当窗口背景必须被擦除时(例如在窗口改变大小时) |
WM_SYSCOLORCHANGE |
0x0015 |
当系统颜色改变时,发送此消息给所有顶级窗口 |
WM_ENDSESSION |
0x0016 |
当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序 |
WM_SHOWWINDOW |
0x0018 |
当隐藏或显示窗口是发送此消息给这个窗口 |
WM_ACTIVATEAPP |
0x001C |
当某个窗口将被激活时,将被激活窗口和当前活动(即将失去激活)窗口会收到此消息,发此消息给应用程序哪个窗口是激活的,哪个是非激活的 |
WM_FONTCHANGE |
0x001D |
当系统的字体资源库变化时发送此消息给所有顶级窗口 |
WM_TIMECHANGE |
0x001E |
当系统的时间变化时发送此消息给所有顶级窗口 |
WM_CANCELMODE |
0x001F |
发送此消息来取消某种正在进行的操作 |
WM_SETCURSOR |
0x0020 |
如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,发消息给该窗口 |
WM_MOUSEACTIVATE |
0x0021 |
当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口 |
WM_CHILDACTIVATE |
0x0022 |
发送此消息给MDI子窗口当用户点击此窗口的标题栏,或当窗口被激活、移动、改变大小 |
WM_QUEUESYNC |
0x0023 |
此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的Hook程序分离出用户输入消息 |
WM_GETMINMAXINFO |
0x0024 |
当窗口要将要改变大小或位置时,发送此消息给该窗口 |
WM_PAINTICON |
0x0026 |
当窗口图标将要被重绘时,发送此消息给该窗口 |
WM_ICONERASEBKGND |
0x0027 |
在一个最小化窗口的图标在重绘前,当图标背景必须被重绘时,发送此消息给该窗口 |
WM_NEXTDLGCTL |
0x0028 |
发送此消息给一个对话框程序以更改焦点位置 |
WM_SPOOLERSTATUS |
0x002A |
当打印管理列队增加或减少一条作业时发出此消息 |
WM_DRAWITEM |
0x002B |