Переменные AutoHotkey не отправляются как координаты - PullRequest
0 голосов
/ 29 августа 2018

У меня проблемы с настройкой синтаксиса, чтобы графический интерфейс отображал окно в правильном месте. Он должен отображаться в x0, y (координата SciteWindow), w (ширина монитора), h (высота монитора / 17). Я думаю, что есть ошибки в моей команде Winmove. Пожалуйста, смотрите прикрепленный код.

#SingleInstance,Force
WinGetPos , X_SciTEWindow, Y_SciTEWindow, Width_SciTEWindow, Height_SciTEWindow, ahk_class SciTEWindow ;I don't even need the X_SciTEWindow, because the bars will all be aligned at x0, but it's there... 
SysGet, aScreenHeight, 1 
bar_height := Round(aScreenHeight / 17)
Gui, Color, aqua,FFB1B1
Gui, Show, w%A_ScreenWidth% h%bar_height%, SomeStupidBar
WinSet, Style,  -20xC40000
Winmove, %SomeStupidBar%,  x0, y%Y_SciTEWindow%, w%A_ScreenWidth%, h%bar_height%
MsgBox, Time to move the window to x0, y%Y_SciTEWindow%, w%A_ScreenWidth%, h%bar_height%
Winmove, %SomeStupidBar%,  x0, y%Y_SciTEWindow%, w%A_ScreenWidth%, h%bar_height%
return
Esc::ExitApp


SetTimer, ShowGui, 500
ShowGui:    
IfWinNotExist, ahk_class AutohotkeyGUI
{
Gui, +Owner%WinID% +Border +ToolWindow 
Gui, Show, NoActivate x%X% y%Y% w51 h431, %GuiTitle%
}
else
{
WinWaitActive, ahk_class SciTEWindow
WinGetPos, X_SciTEWindow, Y_SciTEWindow,,, ahk_class Notepad
WinGet, WinID, ID, ahk_class SciTEWindow,,,
IfWinNotExist, ahk_class AutohotkeyGUI
WinGetPos, %SomeStupidBar%, , , ,  ahk_class AutohotkeyGUI
If %SomeStupidBar%<>X - 56
WinMove, ahk_class AutohotkeyGUI,  X - 56
}
return

1 Ответ

0 голосов
/ 08 декабря 2018

В документации указано, что вам необходимо иметь одно из следующих:

WinMove, WinTitle, WinText, X, Y [, Width, Height, ExcludeTitle, ExcludeText]
WinMove, X, Y

У вас есть:

Winmove, %SomeStupidBar%,  x0, y%Y_SciTEWindow%, w%A_ScreenWidth%, h%bar_height%

Обратите внимание на отсутствующий WinText.

Попробуйте оставить это поле пустым:

Winmove, %SomeStupidBar%,, x0, y%Y_SciTEWindow%, w%A_ScreenWidth%, h%bar_height%
...