Функция ControlMove

         Описание функции


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)