Функция _GUICtrlRichEdit_GetTextInRange

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


_GUICtrlRichEdit_GetTextInRange

Возвращает текст между указанными позициями

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetTextInRange($hWnd, $iStart, $iEnd)

Параметры

$hWnd Дескриптор элемента
$iStart Позиция начала
$iEnd Позиция конца
    Специальное значение: -1 - конец текста

Возвращаемое значение

Успех:the text
Ошибка:Возвращает False и устанавливает @error
@error:101 - $HWnd не является дескриптором
102 - $iStart is neither positive nor zero
1031 - $iEnd is neither positive nor zero nor -1
1032 - $iStart < $iEnd and $iEnd &l;> -1

Примечания

Первый символ текста в элементе имеет позицию 0

См. также

_GUICtrlRichEdit_GetTextinLine

См. также

Искать EM_GETTEXTRANGE в библиотеке MSDN

Пример

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

$hGui = GUICreate("Количество символов", 320, 120, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "Удалите часть текста и проверьте количество символов снова", _
        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_GetTextLength($hRichEdit, True, True)
            GUICtrlSetData($lblMsg, $sMsg)
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

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