_GUICtrlEdit_GetRECTEx
Возвращает координаты прямоугольника окна редактирования
#include <GuiEdit.au3>
_GUICtrlEdit_GetRECTEx($hWnd)
Параметры
$hWnd | Дескриптор или идентификатор элемента |
Возвращаемое значение
Успех: Возвращает структуру $tagRECT, содержащую координаты прямоугольника окна редактированияПримечания
При определенных условиях, _GUICtrlEdit_GetRECT не может возвратить точные значения, которые установлены функцией _GUICtrlEdit_SetRECT... Это может быть приблизительно скорректировано, но различаться на несколько пикселей.См. также
_GUICtrlEdit_GetRECT, $tagRECTПример
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Debug_Ed = False ; Проверяет ClassName передаваемый в Edit функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $hStatusBar, $hEdit, $hGUI
Local $sWow64 = ""
If @autoitx64 Then $sWow64 = "\Wow6432Node"
Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\_ReadMe_.txt"
Local $aPartRightSide[5] = [1, 85, 180, 285, -1], $tRect
; Создаёт GUI
$hGUI = GUICreate("Получает прямоугольник", 400, 300)
$hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
$hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
GUISetState()
; Получает прямоугольник
$tRect = _GUICtrlEdit_GetRECTEx($hEdit)
DllStructSetData($tRect, "Left", DllStructGetData($tRect, "Left") + 10)
DllStructSetData($tRect, "Top", DllStructGetData($tRect, "Top") + 10)
DllStructSetData($tRect, "Right", DllStructGetData($tRect, "Right") - 10)
DllStructSetData($tRect, "Bottom", DllStructGetData($tRect, "Bottom") - 10)
; Добавляет текст
_GUICtrlEdit_AppendText($hEdit, FileRead($sFile))
; Устанавливает прямоугольник
_GUICtrlEdit_SetRECTEx($hEdit, $tRect)
; Получает прямоугольник
$tRect = _GUICtrlEdit_GetRECTEx($hEdit)
_GUICtrlStatusBar_SetText($hStatusBar, "Левый: " & DllStructGetData($tRect, "Left"), 1)
_GUICtrlStatusBar_SetText($hStatusBar, "Верхний: " & DllStructGetData($tRect, "Top"), 2)
_GUICtrlStatusBar_SetText($hStatusBar, "Правый: " & DllStructGetData($tRect, "Right"), 3)
_GUICtrlStatusBar_SetText($hStatusBar, "Нижний: " & DllStructGetData($tRect, "Bottom"), 4)
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main