「 C++ 参数 」“(WPARAM wParam, LPARAM lParam)信息” 讲解

一、前言        

        在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

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值