想在消息映射函数中获取消息ID

lonelinessdotcom 2004-09-15 09:00:55
自己定义了一个消息:
BEGIN_MESSAGE_MAP(CmyView, Cview)
ON_MESSAGE(WM_IDTOGET, GetMessageID)
END_MESSAGE_MAP()
……
LRESULT CmyView::GetMessageID(WPARAM wParam, LPARAM lParam)
{
我想在这获取WM_IDTOGET这个ID该怎么做呢?
即如何在消息函数里面获取消息的ID
}
...全文
138 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
memory_xj 2004-09-15
  • 打赏
  • 举报
回复
用UINT wmID = LOWORD(wParam);
wmID即可你的消息ID值
DentistryDoctor 2004-09-15
  • 打赏
  • 举报
回复
我想自定义的你也不需要找了吧。
DentistryDoctor 2004-09-15
  • 打赏
  • 举报
回复
直接在winuser.h中去找。
pomelowu 2004-09-15
  • 打赏
  • 举报
回复
要获得消息ID到PreTranslateMessage中去;而触发了你这个响应函数,那就是因为收到了这条消息。
flyelf 2004-09-15
  • 打赏
  • 举报
回复
id和消息的映射是唯一的
kstone2004 2004-09-15
  • 打赏
  • 举报
回复
BEGIN_MESSAGE_MAP(CmyView, Cview)
ON_MESSAGE(WM_IDTOGET, GetMessageID)
END_MESSAGE_MAP()
……
LRESULT CmyView::GetMessageID(WPARAM wParam, LPARAM lParam)
{
变量 = 方法("",...WM_DITOGET,""...);

}
lonelinessdotcom 2004-09-15
  • 打赏
  • 举报
回复
谢谢 memory_xj(青蛙) ,没想过用wParam来传递,呵呵
To shakaCY(天舞宝轮):
如果能够这样当然更好,只是....能不能给个具体的例子?怎么用呢?

待会我再开个帖问一个问题,欢迎大家参加!
shakaCY 2004-09-15
  • 打赏
  • 举报
回复
1。既然是自定义消息,自己的ID当然是知道的啦!
2。如果楼主的意思是提取各种不同消息做不同处理,请到PreTranslateMessage中去编写GetMessageID函数,那里面传入了消息的结构MSG,你的msg.message处理即可!
3,传递自定义消息,如果你不需要携带别的信息的话,就用PostMessage(WM_IDTOGET, 0, 0)即可!
nik_Amis 2004-09-15
  • 打赏
  • 举报
回复
up
memory_xj 2004-09-15
  • 打赏
  • 举报
回复
如果简单是用PostMessage传递自定义消息的话,可以将消息ID作为参数传递给处理函数如下:
PostMessage(WM_IDTOGET, WM_IDTOGET, 0);
在消息处理函数中:
如:LRESULT CYourView::YourFunction(WPARAM wParam, LPARAM lparam)
{
UINT wmID = (UINT)wParam;
...........
}
lonelinessdotcom 2004-09-15
  • 打赏
  • 举报
回复
To memory_xj(青蛙):
那PostMessage里面该用什么参数呢,总不能是
PostMessage(WM_IDTOGET, 0, 0)吧?第二个参数要传递什么呢?
 本次课程会带着大家学习Hash算法,从源码的角度去学习算法,更加容易理解的方式去学习,能够更高效的吸收学到的内容,也能培养出能够独自看源码,分析源码的能力。Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。  哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映射到一个有限的地址区间上,并以关键字在地址区间的象作为记录在表的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。  通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果。如果输入数据有变化,则哈希也会发生变化。哈希可用于许多操作,包括身份验证和数字签名。也称为“消息摘要”。  简单解释:哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。

16,472

社区成员

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

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

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