#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
OnAutoItExitRegister('_OnExit') ; Освобождает ресурсы RichEdit даже при завершении скрипта с ошибкой

$hGui = GUICreate("Колич. символов в строке", 320, 120, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Это текст'&@CRLF&'привет'&@CRLF&'ура', _
		10, 10, 300, 70, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$lblMsg = GUICtrlCreateLabel("Строка состояния", 10, 85, 150, 60)
$iButton = GUICtrlCreateButton("Получить количество", 170, 85, 140, 30)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $iButton
			; Возвращает количество символов
			$sMsg=_GUICtrlRichEdit_GetLineLength($hRichEdit, -1)
			GUICtrlSetData($lblMsg, $sMsg)
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

Func _OnExit()
	; Для версий ниже 3.3.8.0 обязательно удаление RichEdit или GUI для освобождения ресурсов RichEdit
	_GUICtrlRichEdit_Destroy($hRichEdit)
	GUIDelete()
EndFunc