本文实例总结了Windows窗口消息。分享给大家供大家参考。具体如下:
#include "AFXPRIV.H"//消息值的定义来源
#include "Dde.h"//DDE消息值的定义来源
#include "CPL.H"//控制面板消息值的定义来源
#include "WFEXT.H"//文件管理器的消息值的定义来源
#include "vfw.h"//视频捕捉的消息值的定义来源
#include "ras.h"//RAS(远程访问服务)的消息值的定义来源
#include "imm.h"//输入法编辑器的消息值的定义来源
#include "tspi.h"//消息值的定义来源
#include "setupapi.h"//消息值的定义来源
//////////////////////////////////////////////////////////////////////////
#ifndef WM_SYSTIMER
#define WM_SYSTIMER 0x0118 //(caret blink)
#endif
#define DRV_EXITAPPLICATION 0x000C //驱动程序消息相关
#define WM_HIBERNATE 0x03FF //WINCE独有的消息(内存资源限制相关)
//窗口消息解码
#define IDSTR(MsgID) MsgID,#MsgID
typedef struct
{
DWORD dwMsg;
LPCTSTR szMsgText;
LPCTSTR szNote;
} t_MSGNOTE;
static t_MSGNOTE messagesnote[] =
{
IDSTR(WM_NULL),"空消息,可检测程序是否有响应等",
IDSTR(WM_CREATE),"新建一个窗口",
IDSTR(WM_DESTROY),"销毁一个窗口",
//IDSTR(0x0004),"",
IDSTR(WM_MOVE),"移动一个窗口",
IDSTR(WM_SIZE),"改变一个窗口的大小",
IDSTR(WM_ACTIVATE),"一个窗口被激活或失去激活状态",
IDSTR(WM_SETFOCUS),"将焦点转向一个窗口",
IDSTR(WM_KILLFOCUS),"使一个窗口失去焦点",
//IDSTR(0x0009),"",
IDSTR(WM_ENABLE),"使一个窗口处于可用状态",
IDSTR(WM_SETREDRAW),"设置窗口是否能重绘",
IDSTR(WM_SETTEXT),"设置一个窗口的文本",
IDSTR(WM_GETTEXT),"复制窗口的文本到缓冲区",
IDSTR(WM_GETTEXTLENGTH),"得到窗口的文本长度(不含结束符)",
IDSTR(WM_PAINT),"窗口重绘",
IDSTR(WM_CLOSE),"用户关闭窗口时会发送本消息,紧接着会发送WM_DESTROY消息",
IDSTR(WM_QUERYENDSESSION),"关机或注销时系统会按优先级给各进程发送WM_QUERYENDSESSION,告诉应用程序要关机或注销了",
IDSTR(WM_QUIT),"关闭消息循环结束程序的运行",
IDSTR(WM_QUERYOPEN),"最小化的窗口即将被恢复以前的大小位置",
IDSTR(WM_ERASEBKGND),"当一个窗口的背景必须被擦除时本消息会被触发(如:窗口大小改变时)",
IDSTR(WM_SYSCOLORCHANGE),"当系统颜色改变时,发送本消息给所有顶级窗口",
IDSTR(WM_ENDSESSION),"关机或注销时系统会发出WM_QUERYENDSESSION消息,然后将本消息发送给应用程序,通知程序会话结束",
//IDSTR(0x0017),"",
IDSTR(WM_SHOWWINDOW),"发送本消息给一个窗口,以便隐藏或显示该窗口",
//IDSTR(0x0019),"",
IDSTR(WM_WININICHANGE),"读写\"win.ini\"时会发送本消息给所有顶层窗口,通知其它进程该文件已被更改",
IDSTR(WM_DEVMODECHANGE),"改变设备模式设置(\"win.ini\")时,处理本消息的应用程序可重新初始化它们的设备模式设置",
IDSTR(WM_ACTIVATEAPP),"窗口进程激活状态改动,正被激活的窗口属于不同的应用程序 ",//??
IDSTR(WM_FONTCHANGE),"当系统的字体资源库变化时发送本消息给所有顶级窗口",
IDSTR(WM_TIMECHANGE),"当系统的时间变化时发送本消息给所有顶级窗口",
IDSTR(WM_CANCELMODE),"发送本消息来取消某种正在进行的模态(操作)(如鼠示捕获),例如:启动一个模态窗口时,父窗会收到本消息;该消息无参数",
IDSTR(WM_SETCURSOR),"若鼠标光标在某窗口内移动且鼠标没被捕获时,就会发送本消息给某个窗口",
IDSTR(WM_MOUSEACTIVATE),"当鼠标光标在某个未激活窗口内,而用户正按着鼠标的某个键时,会发送本消息给当前窗口",
IDSTR(WM_CHILDACTIVATE),"点击窗口标题栏或当窗口被激活、移动、大小改变时,会发送本消息给MDI子窗口",
IDSTR(WM_QUEUESYNC),"本消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的HOOK程序分离出用户输入消息",
IDSTR(WM_GETMINMAXINFO),"当窗口将要改变大小或位置时,由系统发送本消息给窗口,用户拖动一个可重置大小的窗口时便会发出本消息",
//IDSTR(0x0025),"",
IDSTR(WM_PAINTICON),"当一个最小化的窗口图标将被重绘时发送本消息",
IDSTR(WM_ICONERASEBKGND),"本消息发送给某个最小化的窗口,仅当它在画图标前它的背景必须被重画",
IDSTR(WM_NEXTDLGCTL),"发送本消息给一个对话框程序窗口过程,以便在各控件间设置键盘焦点位置",
//IDSTR(0x0029),"",
IDSTR(WM_SPOOLERSTATUS),"每当打印管理列队增加或减少一条作业时就会发出本消息",
IDSTR(WM_DRAWITEM),"按钮、组合框、列表框、菜单的外观改变时会发送本消息给这些控件的所有者",
IDSTR(WM_MEASUREITEM),"按钮、组合框、列表框、列表控件、菜单项被创建时会发送本消息给这些控件的所有者",
IDSTR(WM_DELETEITEM),"当列表框或组合框被销毁或通过LB_DELETESTRING、LB_RESETCONTENT、CB_DELETESTRING或CB_RESETCONTENT消息删除某些项时,会发送本消息给这些控件的所有者",
IDSTR(WM_VKEYTOITEM),"LBS_WANTKEYBOARDINPUT风格的列表框会发出本消息给其所有者,以便响应WM_KEYDOWN消息",
IDSTR(WM_CHARTOITEM),"LBS_WANTKEYBOARDINPUT风格的列表框会发送本消息给其所有者,以便响应WM_CHAR消息",
IDSTR(WM_SETFONT),"指定控件所用字体",
IDSTR(WM_GETFONT),"得到当前控件绘制其文本所用的字体",
IDSTR(WM_SETHOTKEY),"为某窗口关联一个热键",
IDSTR(WM_GETHOTKEY),"确定某热键与某窗口是否相关联",
//IDSTR(0x0034),"",
//IDSTR(0x0035),"",
//IDSTR(0x0036),"",
IDSTR(WM_QUERYDRAGICON),"本消息发送给最小化的窗口(iconic),当该窗口将被拖放而其窗口类中没有定义图标,应用程序能返回一个图标或光标的句柄。当用户拖放