我想在鼠标悬停时找到控制手柄位于其他下方,但它只在上方找到控制(使用WindowFromPoint
、ChildWindowFromPoint
等不起作用)。
有什么建议吗?
我想在鼠标悬停时找到控制手柄位于其他下方,但它只在上方找到控制(使用WindowFromPoint
、ChildWindowFromPoint
等不起作用)。
有什么建议吗?
您可以使用GetNextWindow
Win32 API 调用来检索 Z-Order 中位于此窗口下方的下一个窗口。
算法可能是这样的:
HWND hwnd = ChildWindowFromPoint(hwndParent, point);
hwnd
是抢手的窗口则停止hwnd = GetNextWindow(hwnd, GW_HWNDNEXT);
hwnd
包含point
则转到 2另一种方法 - 只需枚举对话框或视图上的所有控件,将它们的矩形和句柄存储在某个容器中并手动进行点检查。