WPARAM,LPARAM如何拆解消息?

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

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

WPARAM,LPARAM这两个参数如何分析?
...全文
19 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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)来得到数据呀!:)
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-13 09:18
社区公告

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