Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

ControlMove -Autohotkey

Передвигает контрол (элемент управления в окне), изменяет размеры контрола.

ControlMove, Control, X, Y, Width, Height [, WinTitle, WinText, ExcludeTitle, ExcludeText]

Параметры

Control Может задаваться как ClassNN (имя класса и номер данного экземпляра) или как имя/текст контрола. Все эти значения можно определить, используя программу Window Spy. При использовании имени/текста параметры их поиска можно задавать командой SetTitleMatchMode. Если параметр пустой, используется верхний контрол окна.

Чтобы указать контрол через его HWND (window handle, идентификатор окна), оставьте параметр Control пустым и задайте ahk_id %ControlHwnd% как значение параметра WinTitle - это работает также и для скрытых контролов, даже если обнаружение скрытых окон (команда DetectHiddenWindows) не включено. HWND, как правило, узнаётся через команды ControlGet Hwnd, MouseGetPos или DllCall.
X, Y Новые координаты (в пикселах) для верхнего левого угла контрола (могут быть выражениями). Если какая-то из координат пустая, будет сохранено её старое значение. Координаты считаются относительно верхнего левого угла окна. Для определения координат можно применять программу Window Spy или команду ControlGetPos.
Width, Height Новые ширина и высота контрола (в пикселах, могут быть выражениями). Если какой-то из этих параметров опущен или пустой, сохраняется его старое значение.
WinTitle Заголовок или часть заголовка окна (параметры поиска можно задавать командой SetTitleMatchMode). Если этот и следующие 3 параметра опущены, будет использовано последнее найденное окно. Если параметр задан буквой А и следующие 3 параметра опущены, будет использовано активное окно. Чтобы задать окно через его класс, используйте конструкцию ahk_class ТочноеИмяКласса (можно посмотреть программой Window Spy). Чтобы использовать идентификатор процесса (PID), задайте параметр как ahk_pid %ПеременнаяСодержащаяPID%. Чтобы использовать группу окон, задайте параметр как ahk_group ИмяГруппы. Чтобы использовать идентификатор окна, задайте параметр как ahk_id %ПеременнаяСодержащаяID%. Сектор поиска можно сузить, задав несколько критериев, например, My File.txt ahk_class Notepad.
WinText Подстрока из одиночного текстового элемента окна (можно посмотреть программой Window Spy). Скрытые текстовые элементы определяются, если включено определение скрытого текста (команда DetectHiddenText).
ExcludeTitle Окна, чей заголовок включает значение этого параметра, исключаются.
ExcludeText Окна, чей текст включает значение этого параметра, исключаются.

ErrorLevel

Нуль, если команда выполнена успешно. Иначе 1.

Примечания

Для повышения надёжности после каждого выполнения этой команды автоматически делается пауза. Длина этой паузы может быть изменена командой SetControlDelay.

Заголовки и текст окон чувствительны к регистру. Скрытые окна не определяются, если это не задано командой DetectHiddenWindows.

Пример

; Изменяет кнопку ОК в диалоговом окне ввода. SetTimer, ControlMoveTimer InputBox, OutputVar, My Input Box return ControlMoveTimer: IfWinNotExist, My Input Box return ; Иначе код выше задаёт "последнее найденное" окно: SetTimer, ControlMoveTimer, off WinActivate ControlMove, OK, 10, , 200 ; Сдвинуть кнопку ОК влево и увеличить её ширину. return
Автор перевода: YMP
Настоящее имя переводчика: Юрий Попов
Источник: http://www.script-coding.com/AutoHotkey/ControlMove.html
Под редакцией ahk-wiki.ru от 21.08.19