以这个网站介绍的程序中使用的信息为中心逐渐记述。
1.Windows信息一览表
(1)普通信息 WM_***(按字母顺序或数值顺序)
窗体顶端
消息顺序 值顺序 (按值顺序排序时,请检查“值顺序”单选按钮)
窗体底端
消息值 意思
WM_ACTIVATE 0x0006 窗口激活、非激活的通知
WM_CLOSE 0x0010 关闭窗口
WM_COMMAND 0x0111 菜单选择、来自控件的通知等。
WM_CREATE 0x0001 窗口生成
WM_CTLCOLORSTATIC 0x0138 静态控制等在绘制前发送。
WM_DESTROY 0x0002 销毁窗口
WM_DRAWITEM 0x002B 业主抽奖的项目绘图
WM_HSCROLL 0x0114 水平滚动条操作
WM_KILLFOCUS 0x0008 失去键盘焦点
WM_LBUTTONDBLCLK 0x0203 鼠标左键被双击。
WM_LBUTTONDOWN 0x0201 鼠标的左键被按下了。
WM_MOUSELEAVE 0x02A3 鼠标光标从窗口区域出来了。
WM_MOUSEMOVE 0x0200 鼠标光标移动的通知
WM_NOTIFY 0x004E Common Control的活动通知或信息请求
WM_PAINT 0x000F 绘制
WM_RBUTTONDOWN 0x0204 鼠标的右键被按下了。
WM_SETFOCUS 0x0007 获得了键盘焦点。
WM_SIZE 0x0005 窗口大小变更
WM_VSCROLL 0x0115 垂直滚动条操作
2.Windows消息的概要
WM_ACTIVATE
WM_ACTIVATE消息被发送到即将激活或停用的窗口。通过WindowProc函数接收这个消息。
【参数】
wParam : 子词是激活标志fActive。
上位词是窗口是否最小化。
如果是0以外的值的话,窗口会最小化。如果是0,那么窗口就不会被最小化。
lParam : fActive为0(WA_INACTIVE)时,是新激活的窗口的手柄。
除此之外的数值时,之前活跃的窗口的手柄。
激活标志fActive是以下值之一。
价值 意思
0 (WA_INACTIVE) 被停用
1 (WA_ACTIVE) 通过鼠标点击以外的方法(例如,通过键盘界面选择或通过SetActiveWindow函数)来激活。
2 (WA_CLICKACTIVE) 通过点击鼠标激活。
【返回值】
WindowProc函数在处理这个消息时返回0。
【链接】
1.WM_ACTIVATE[msdn]
2.WM_ACTIVATE
WM_CLOSE
用户可以点击“关闭”按钮或使用Alt+F4键等键盘快捷键关闭应用程序窗口。根据这些动作,窗口会收到WM_CLOSE消息。在WM_CLOSE消息中,可以向用户显示提示。在这里真的关闭窗口时会调用 DestroyWindow函数,否则从WM_CLOSE消息中返回零,操作系统无视消息,窗户不会被销毁。
程序处理WM_CLOSE的例子如下所示。
Case WM_CLOSE:
If (MessageBox(hwnd, "Really quit?", "My application", MB_OKCANCEL) =