鼠标悬停时如何隐藏GUI?

时间:2019-04-21 12:07:50

标签: user-interface autohotkey show-hide mouseover

我创建了一个简单的覆盖GUI:

Gui +LastFound +AlwaysOnTop +ToolWindow -Caption

有时它后面有按钮,我希望在鼠标悬停时隐藏GUI,以便我可以看到并单击它后面的按钮。当鼠标不再停留时,GUI再次显示。

我真的无法为此找到一个简单的解决方案。你有什么主意吗?

1 个答案:

答案 0 :(得分:1)

我建议修改Lexikos用鼠标钩所做的操作,以监视鼠标是否悬停在GUI所在的位置。也许会有更有效的解决方案(我也希望看到),但这肯定会起作用。

patch series

下面是示例代码片段,以防链接损坏:

#Persistent
MouseHook := DllCall("SetWindowsHookEx", "int", 14  ; WH_MOUSE_LL = 14
    , "uint", RegisterCallback("MouseProc"), "uint", 0, "uint", 0)
return

MouseProc(nCode, wParam, lParam)
{
    global MouseHook
    Critical
    if wParam = 0x200 ; WM_MOUSEMOVE
    {
        ToolTip % NumGet(lParam+0,0,"int") ", " NumGet(lParam+4,0,"int")
    }
    return DllCall("CallNextHookEx", "uint", MouseHook
                    , "int", nCode, "uint", wParam, "uint", lParam)
}