广播消息,消息接收处理的时候发现收到3条一样的消息 a程序广播了一跳自定义消息。b程序在重载PreTranslateMessage(MSG* pMsg)函数进行处理,收到该消息就return true,但是发现每广播一条消息,b程序就收到了3条。而spy++工具里查看,程序b的确只收到了一条。大家帮忙看看是什么问题呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 return true交给下一个消息处理函数处理有几个函数处理这个消息? 只有在PreTranslateMessage(MSG* pMsg)里处理,收到该消息后就return true的 消息被上层的窗口处理了。windows的消息处理流程就是这样的,如果消息没被当前窗口处理,则向上提交,直到默认的消息处理函数,还不能处理的话,抛弃此消息 ouyh12345(五岭散人),不是消息丢了。是多了 没理解我的意思。比如,对话框程序,在dialog的PreTranslateMessage函数里截获并return true了。首先,对话框接受了此消息,但没处理,交app处理。app也没处理,交默认的windows消息函数处理。默认的windows消息函数也没处理,最后抛弃掉。这样,在此程序里,就收到了3次。 那我收到这条消息之后,就return true了啊。处理是以返回值为真或者假来判定是否处理的啊。还是有点不理解呢。 return true就是交给上层处理。return false就表示已经处理好了。 奇怪的是,我收到消息之后无论返回true还是false,消息都会重新处理3次。是不是消息id和系统的有冲突呢?我试着改了其他的值,还是有这个问题。消息ID是WM_USER + 1032,我查了下并没有冲突哦,郁闷,想不通 项目字符集对改变CToolBar的背景影响OnEraseBkgnd Create函数的参数中文意思及用途 cpen画直线的小问题 工具栏中文字出现图标右边? 如何从WMV视频文件中提取出一段视频内容 请问一个数组的用法(40分) 大家来说说学VC的理由 谁有windows 2000核心编程源码 CDC和CGdiObject派生类对象的内存泄漏问题 测试二叉树中序遍历的函数,请大侠之处错误,小弟感激不尽 操作系统字符串函数 文件操作问题,不知道是怎么回事,请高手进来看一看
交给下一个消息处理函数处理有几个函数处理这个消息?
windows的消息处理流程就是这样的,如果消息没被当前窗口处理,则向上提交,直到默认的消息处理函数,还不能处理的话,抛弃此消息
比如,对话框程序,在dialog的PreTranslateMessage函数里截获并return true了。
首先,对话框接受了此消息,但没处理,交app处理。
app也没处理,交默认的windows消息函数处理。
默认的windows消息函数也没处理,最后抛弃掉。
这样,在此程序里,就收到了3次。
return false就表示已经处理好了。