【发布时间】:2020-05-12 07:12:17
【问题描述】:
我有两个类层次结构,如下所示:
- A 类扩展 CWnd
- B 扩展 A
- C 扩展 B.
- D 类扩展 CWnd
- E 扩展 D
我如何将SendMessage 从C 变为D?
附加信息(来自 cmets):
消息映射已正确完成并已注册消息。这是我尝试过的:
我在 C 类的成员函数中调用
SendMessage(...),它不起作用。当我通过
GetTopLevelParent()->SendMessage(...)执行此操作时,它正在工作。
但在第二种情况中,它击中了侦听器函数3次。你能解释一下为什么吗?
【问题讨论】:
-
您实际上是在向我们展示一个类层次结构,因为所有类都有一个共同的根,即
CWnd。 -
最后,我自己添加了(到目前为止)通过 cmets 收集的信息。 @Arjun 请检查您的问题现在描述是否正确,并在必要时进行更正/改进。
标签: c++ mfc sendmessage