gpt4 book ai didi

mfc - 查找哪个 MFC 子窗口将收到鼠标单击

转载 作者:行者123 更新时间:2023-12-04 19:30:46 27 4
gpt4 key购买 nike

所以,我有一个 MFC 程序的插件。我正在使用鼠标事件 Hook (来自 SetWindowsHookEx)来捕获点击。主机应用程序可以打开任意数量的(可能重叠的)子窗口,但我只想拦截特定子窗口中的点击。

有没有办法在 hook proc 中找出哪个子窗口将处理点击?我想这类似于枚举所有子窗口,查看 Z 顺序,但我对 MFC/Win32 库非常不熟悉,而且我找不到任何关于如何枚举所有子窗口并计算哪个是最顶层。

最佳答案

也许是 WindowFromPoint API 功能是否符合要求?

Retrieves a handle to the window that contains the specified point.

该文档没有明确提及 Z 顺序,但我可以根据第一手经验向您保证,“包含”隐含地意味着前面没有其他窗口。

还有几个,行为略有不同:ChildWindowFromPoint , ChildWindowFromPointExRealChildWindowFromPoint .

关于mfc - 查找哪个 MFC 子窗口将收到鼠标单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2867726/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com