WPARAM,LPARAM如何拆解消息?

zzxcom 2002-05-13 09:18:44
我自定义了一个消息处理函数,里面有这两个参数来接收消息。

问题是如何知道传来的消息是什么消息?

WPARAM,LPARAM这两个参数如何分析?
...全文
58 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tifaling 2002-05-13
  • 打赏
  • 举报
回复
拆分主要用在sdk变成中,mfc中除非你编自定义消息。
比如在WM_LBUTTONDOWN中,HIWORD(lParam)和LOWORD(lParam)可以得到鼠标的x,y值
thb 2002-05-13
  • 打赏
  • 举报
回复
其实他们的定义就是整型之类的东东,你就给他们附个整数,然后再判断就得了!
twtpdc 2002-05-13
  • 打赏
  • 举报
回复
message是用来指代消息的,每个消息有它的格式。
twtpdc 2002-05-13
  • 打赏
  • 举报
回复
你没有自定义消息,那我说的就是让你自已去捕捉消息啊!
MSG Structure
The MSG structure has the following form:

typedef struct tagMSG { // msg
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;


zzxcom 2002-05-13
  • 打赏
  • 举报
回复
我没有自己主动SendMessage,我是等待板卡函数的处理结果给窗口返回的消息。因此不知道怎样,是不是WPARAM就可以代指这些消息?
fang_jb 2002-05-13
  • 打赏
  • 举报
回复
你在SendMessage的时候不是也要确定传递的wParam和lParam吗?
如果是系统消息的话,直接拿wParam和消息比如WM_PAINT来比就可以了
switch(wParam)
case WM_PAINT:
······
case WM_···
zzxcom 2002-05-13
  • 打赏
  • 举报
回复
pMsg->message==YOURMESSAGE这个表达式有误吧?
一个我接收的信息不止一种,二,这个==表达怎么回事?
flyingbird_ 2002-05-13
  • 打赏
  • 举报
回复
如果你是自定义消息及其处理函数,这样在发送时最好就确定是什么类型,如果一个消息响应函数要接受多个类型数据,这时可以用WPARAM与LPARAM之中一个变量作标识,用另一个传消息,记住只有知道是什么类型才能接收。或者多定义几个自定义消息及对应的响应函数。
zzxcom 2002-05-13
  • 打赏
  • 举报
回复
twtpdc(呢呢)
您这个有什么作用呢?不好意思,我是初学。
twtpdc 2002-05-13
  • 打赏
  • 举报
回复
PretranslateMessage()中
pMsg->message==YOURMESSAGE
zzxcom 2002-05-13
  • 打赏
  • 举报
回复
不懂,说明白一点
virginsoldier 2002-05-13
  • 打赏
  • 举报
回复
你可以使用LOWORD(PRARM)和HIWORD(PRARM)来得到数据呀!:)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧