Функция _GUICtrlRichEdit_GetLineLength

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


_GUICtrlRichEdit_GetLineLength

Возвращает количество символов указанной строки

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetLineLength($hWnd, $iLine)

Параметры

$hWnd Дескриптор элемента
$iLine Номер строки
    Специальное значение: -1 - возвращает количество символов в строке, в которой начало выделенного текста

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

Успех:Для многострочного элемента - количество символов в строке
Для однострочного элемента - количество символов в элементе
Ошибка:Возвращает 0 и устанавливает @error
@error:101 - $HWnd не является дескриптором
102 - $iLine не является положительным числом или -1
1022 - $iLine больше, чем количество символов в элементе

Примечания

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

Результат не содержит символы возврата каретки и конца строки.

См. также

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

Пример

#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