Перейти на главную страничку сайта (список статей, файлы для скачивания)
Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.
Оригинал статьи в AutoHotkey.chm: "ControlGetPos", в содержании - "Window Management" - "Controls" - "ControlGetPos", v1.0.46.03.
Ник переводчика: YMP.
Настоящее имя переводчика: Юрий Попов.
Определяет расположение и размеры контрола (элемента управления в окне).
ControlGetPos [, X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]
X, Y | Имена выходных переменных, куда будут помещены координаты (в пикселах) верхнего левого угла контрола. Координаты считаются относительно верхнего левого угла указанного окна. |
Width, Height | Имена выходных переменных, куда будут помещены ширина и высота контрола (в пикселах). |
Control | Может задаваться как ClassNN (имя класса и номер данного экземпляра) или как имя/текст контрола. Все эти значения можно определить, используя программу Window Spy. При использовании имени/текста параметры их поиска можно задавать командой SetTitleMatchMode. Если параметр пустой, используется верхний контрол окна. Чтобы указать контрол через его HWND (window handle, идентификатор окна), оставьте параметр Control пустым и задайте ahk_id %ControlHwnd% как значение параметра WinTitle - это работает также и для скрытых контролов, даже если обнаружение скрытых окон (команда DetectHiddenWindows) не включено. HWND, как правило, узнаётся через команды ControlGet Hwnd, MouseGetPos или DllCall. |
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 | Окна, чей текст включает значение этого параметра, исключаются. |
Если совпадающие с критериями поиска окно или контрол не найдены, выходные переменные будут пустыми.
В отличие от команд, которые изменяют контролы, команда ControlGetPos не делает автоматически паузу после каждого применения, т.е. команда SetControlDelay на неё не действует.
Чтобы выяснить имя контрола под курсором мыши, используйте команду MouseGetPos. Чтобы получить список контролов окна, используйте команду WinGet.
Заголовки и текст окон чувствительны к регистру. Скрытые окна не определяются, если это не задано командой DetectHiddenWindows.
; Этот пример непрерывно считывает и показывает имя, позицию и размеры ; контрола, который в данный момент находится под курсором мыши: Loop { Sleep, 100 MouseGetPos, , , WhichWindow, WhichControl ControlGetPos, x, y, w, h, %WhichControl%, ahk_id %WhichWindow% ToolTip, %WhichControl%`nX%X%`tY%Y%`nW%W%`tH%H% }
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.