【发布时间】:2020-06-19 06:05:24
【问题描述】:
当我将一个按钮(A)的父级设置为另一个按钮(B)时,我发现它不会触发按钮A的WM_COMMAND消息,并且会收到WM_PARENTNOTIFY消息窗口(按钮 A 的父级)。但是查了reference之后,发现没有办法得到按钮B的身份,比如HMENU或者HWND。有人可以帮我吗?
【问题讨论】:
-
您是否想知道按钮何时被点击?不要为此使用 WM_PARENTNOTIFY。
-
你到底想在这里做什么?您是否知道将这些消息发送到控件的父级是正常的?这种行为当然是有记录的。
-
为什么要在按钮里面放一个按钮?那会遇到各种各样的问题。例如,键盘访问将被搞砸。 (问题的答案是按钮 B 会将其 WM_COMMAND 发送到窗口 A。子类窗口 A 来获取它。)
-
@RaymondChen 非常感谢您查看问题并给出答案。请问这样可以获取HMENU、HWND等按钮B的信息吗?
-
隐含发送者:如果您在子类按钮 A 中处理
WM_COMMAND,则它源自按钮 B。如果您在按钮 A 的父级中处理WM_COMMAND,您知道它来自按钮 A。
标签: c++ windows user-interface winapi frontend