Функция ControlGetPos

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


ControlGetPos

Возвращает координаты и размер элемента относительно окна.

ControlGetPos ( "title", "text", controlID )

Параметры

title Заголовок/дескриптор/класс окна. См. заголовки и текст окон (расширенные).
text Текст окна.
controlID Идентификатор элемента управления. Смотрите Элементы управления.

Возвращаемое значение

Успех:Возвращает массив, содержащий координаты и размер элемента относительно клиентской области окна:
$array[0] = X координата
$array[1] = Y координата
$array[2] = ширина
$array[3] = высота
Ошибка:Устанавливает @error = 1.

Примечания

Заголовок/Текст ссылающийся на родительское окно, требует осторожности с "","" (пустыми строками), которые ссылаются на активное окно, которое может не содержать ни одного элемента controlID.

См. также

ControlMove, 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

$aPos = ControlGetPos($hWnd, '', '[CLASS:' & $sClassEdit & '; INSTANCE:1]')

If Not @error Then MsgBox(4096, "Сообщение", "Координаты элемента:" & @LF & _
        "  X=" & $aPos[0] & @LF & "  Y=" & $aPos[1] & @LF & @LF & _
        "Размеры элемента: " & @LF & _
        "   ширина =  " & $aPos[2] & @LF & _
        "   высота =  " & $aPos[3])

; Закрывает калькулятор.
WinClose($hWnd)