Функция _GUICtrlEdit_SetRectNPEx

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


_GUICtrlEdit_SetRectNPEx

Устанавливает позицию прямоугольника многострочного окна редактирования

#include <GuiEdit.au3>
_GUICtrlEdit_SetRectNPEx($hWnd, $tRect)

Параметры

$hWnd Дескриптор или идентификатор элемента
$tRect Структура $tagRECT, содержащая координаты прямоугольника окна редактирования

Примечания

Функция _GUICtrlEdit_SetRECTNPEx идентична функции _GUICtrlEdit_SetRECTEx, отличается только тем, что _GUICtrlEdit_SetRECTNPEx не перерисовывает окно редактирования.

См. также

_GUICtrlEdit_SetRectNP, $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_SetRectNPEx($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