Как скрыть графический интерфейс при наведении мыши? - PullRequest
0 голосов
/ 21 апреля 2019

Я создаю простой оверлейный графический интерфейс:

Gui +LastFound +AlwaysOnTop +ToolWindow -Caption

Иногда за ним есть кнопки, и я хочу, чтобы графический интерфейс скрывался при наведении мыши, чтобы я мог видеть и нажимать кнопки за ним.Когда мышь больше не появляется, снова отображается GUI.

Я действительно не могу найти простое решение для этого.У тебя есть идеи?

1 Ответ

1 голос
/ 22 апреля 2019

Я бы порекомендовал адаптировать то, что делал Lexikos с помощью крючка мыши, чтобы отслеживать, находится ли ваша мышь над положением, в котором находится / находился ваш графический интерфейс.Могут быть более эффективные решения (которые я также хотел бы увидеть), но это определенно будет работать.

https://autohotkey.com/board/topic/27067-mouse-move-detection/

Вот пример кода на случай, если ссылка не работает:

#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)
}
...