ControlMove
Переместить элемент в пределах окна.
ControlMove ( "title", "text", controlID, x, y [, width [, height ]] )
Параметры
title | Заголовок/дескриптор/класс окна. См. заголовки и текст окон (расширенные).. |
text |
Текст окна. |
controlID |
Идентификатор элемента управления. Смотрите Элементы управления. |
x |
Новая координата X относительно клиентской области окна. |
y |
Новая координата Y относительно клиентской области окна. |
width |
[необязательный] Новая ширина элемента. |
height |
[необязательный] Новая высота элемента. |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0, если окно/элемент не найден. |
Примечания
Если вместо координат X и Y указано ключевое слово Default то элемент не перемещается, а только изменяет размеры.См. также
ControlGetPos, ControlCommandПример
; Запуск калькулятора
Run('calc.exe')
; Класс окна в зависимости от версии OS
Switch @OSVersion
Case 'WIN_7', 'WIN_8'
$sClassWnd = 'CalcFrame'
$sClassEdit = 'Static'
Case Else
$sClassWnd = 'SciCalc'
$sClassEdit = 'Edit'
EndSwitch
; Ожидание 5 секунд до появление окна калькулятора
$hWnd = WinWait('[CLASS:' & $sClassWnd & ']', '', 5)
If Not $hWnd Then
MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
Exit
EndIf
ControlMove($hWnd, '', '[CLASS:' & $sClassEdit & '; INSTANCE:1]', 2, 2, 23, 200) ; перемещает элемент, изменяет размер
For $i = 1 To 27
ControlMove($hWnd, '', '[CLASS:Button; INSTANCE:' & $i & ']', Cos($i*1.7)*60+110, Sin($i*1.7)*60+110, 25, 25)
Sleep(50)
Next
If MsgBox(4096 + 4, 'Элементы перемещены', 'Закрыть калькулятор?') = 6 Then WinClose($hWnd)