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)