#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $lblMsg, $hRichEdit

Main()

Func Main()
	Local $hGui, $ai, $btnNext, $iStep = 0
	$hGui = GUICreate(StringTrimRight(@ScriptName, 4), 420, 350, -1, -1)
	$hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Это тест.', 10, 10, 400, 220, _
			BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
	$lblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
	$btnNext = GUICtrlCreateButton("Далее", 270, 310, 60, 30)
	GUISetState()

	While 1
		Switch GUIGetMsg()
			Case $GUI_EVENT_CLOSE
				_GUICtrlRichEdit_Destroy($hRichEdit)
				GUIDelete()
				Exit
			Case $btnNext
				$iStep += 1
				Switch $iStep
					Case 1
						_GUICtrlRichEdit_SetSel($hRichEdit, 5, 12)
						$ai = _GUICtrlRichEdit_GetSel($hRichEdit)
						Report("1.Текст выделен в позиции от " & $ai[0] & " до " & $ai[1])
					Case 2
						_GUICtrlRichEdit_DeSelect($hRichEdit)
						$ai = _GUICtrlRichEdit_GetSel($hRichEdit)
						If $ai[0] = $ai[1] Then Report("2. Теперь нет выделенного текста")
						GUICtrlSetState($btnNext, $GUI_DISABLE)
				EndSwitch
		EndSwitch
	WEnd
EndFunc   ;==>Main

Func Report($sMsg)
	GUICtrlSetData($lblMsg, $sMsg)
EndFunc   ;==>Report