#include <GuiEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ScrollBarConstants.au3>

$Debug_Ed = False ; Проверяет ClassName передаваемый в Edit функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
	Local $hEdit, $hGUI, $sText, $iLen

	; Создаёт GUI
	$hGUI = GUICreate("Прокрутка", 400, 300)
	$hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
	GUISetState()

	; Устанавливает текст
	For $i = 1 To 50
		$sText &= $i & @CRLF
	Next
	_GUICtrlEdit_SetText($hEdit, $sText)

	MsgBox(4160, "Информация", "Прокрутить на вниз на строку")
	_GUICtrlEdit_Scroll($hEdit, $SB_LINEDOWN)

	MsgBox(4160, "Информация", "Прокрутить на вверх на строку")
	_GUICtrlEdit_Scroll($hEdit, $SB_LINEUP)

	MsgBox(4160, "Информация", "Прокрутить на вниз на страницу")
	_GUICtrlEdit_Scroll($hEdit, $SB_PAGEDOWN)

	MsgBox(4160, "Информация", "Прокрутить на вверх на страницу")
	_GUICtrlEdit_Scroll($hEdit, $SB_PAGEUP)

	$iLen = _GUICtrlEdit_GetTextLen($hEdit)
	_GUICtrlEdit_SetSel($hEdit, $iLen, $iLen)

	MsgBox(4160, "Информация", "Прокрутить к текстовому курсору")
	_GUICtrlEdit_Scroll($hEdit, $SB_SCROLLCARET)

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE
	GUIDelete()
EndFunc   ;==>_Main