概述
一、前言
在Win32中,(wParam ,lParam)是用来传递消息数据的最常用的手段. 比如,
- 对按键消息来说,鼠标的X和Y的坐标被压缩进lParam中 。
- 对MFC来说,消息可以用多样的类型参数来传递。
- 对用户自定义消息来说,只能用wParam和lParam来传递。
二、讲解
windows的消息具有以下两个参数:
(1)字参数(wParam)
(2)长参数(lParam)
字参数和长参数都是32位整数,用于提供消息的附带消息,是消息传递过程中参数的载体。附加信息的消息号取决于消息号。
常用(wParam ,lParam)信息表
消息 | 说明 | wParam | lParam |
WM_PAINT | 低位是客户区的宽 高位是客户区的高 | ||
WM_VSCROLL WM_HSCROLL | 窗口滚动条消息 | 低位指出了鼠标对滚动条的操作 | |
WM_SYSKEYDOWN WM_SYSKEYUP WM_KEYUP WM_KEYDOWN | 击键消息 | 虚拟键代码 | 分为6个域,有重复计数、环境代码、键的先前状态等 |
WM_CHAR WM_DEADCHAR WM_SYSCHAR WM_SYSDEADCHAR | 字符消息 | ANSI或Unicode字符代码 | 分为6个域,有重复计数、环境代码、键的先前状态等 |
WM_LBUTTONDOWN WM_LBUTTONUP WM_RBUTTONDOWN WM_RBUTTONUP WM_MBUTTONDOWN WM_MBUTTONUP | 客户区鼠标消息 | 指示鼠标键及Shift和Ctrl键的状态 | 鼠标的客户区坐标 |
非客户区鼠标消息 | 指明移动或者单击鼠标键的非客户区位置,以HT开头 | 鼠标的屏幕坐标 | |
WM_MOUSEWHEEL | 鼠标轮滚动消息 | 低位表明鼠标键和Shift与Ctrl键的状态 高位指出了滚轮导致屏幕滚动几行 | 鼠标的屏幕位置 |
WM_TIMER | 计时器消息 | 计时器的ID值 | 0 |
WM_COMMAND | 按钮 | 低位是子窗口ID,高位是通知码 | 子窗口句柄 |
WM_SETFOCUS | 焦点消息 | 正在失去焦点的窗口的句柄 | |
WM_KILLFOCUS | 焦点消息 | 即将接收输入焦点的窗口的句柄 | |
WM_COMMAND | 编辑控制 | 低位是子窗口ID,高位是通知码 | 子窗口句柄 |
WM_COMMAND | 列表框 | 低位是子窗口ID,高位是通知码 | 子窗口句柄 |
WM_INITMENU | 主菜单句柄 | 0 | |
WM_MENUSELECT | 菜单跟踪消息 | 低位是选中项菜单的ID或者弹出式菜单的句柄,高位是选择标识 | 选中项的菜单句柄 |
WM_INITMENUPOPUP | 准备显示一个弹出式菜单时产生 | 弹出式菜单的句柄 | 低位是弹出式菜单的索引,如果该菜单是系统菜单,那么高位是1,否则为0. |
WM_COMMAND | 选中菜单后产生 | 低位是击中菜单的ID 高位是0 | 0 |
WM_SYSCOMMAND | 用户从系统菜单中选择一个启用的菜单项 | 菜单的ID | 0如果该消息是由按鼠标产生的,那么是鼠标的屏幕坐标。 |
WM_COMMAND | 加速键消息 | 低位是加速键ID 高位是1 | 0 |
最后
以上就是孤独小土豆为你收集整理的「 C++ 参数 」“(WPARAM wParam, LPARAM lParam)信息” 讲解的全部内容,希望文章能够帮你解决「 C++ 参数 」“(WPARAM wParam, LPARAM lParam)信息” 讲解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复