Функция _GUICtrlRichEdit_GetFirstCharPosOnLine

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


_GUICtrlRichEdit_GetFirstCharPosOnLine

Возвращает между-символьную позицию, предшествующую первому символу указанной строки

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetFirstCharPosOnLine($hWnd [, $iLine = -1])

Параметры

$hWnd Дескриптор элемента
$iLine [необязательный] Номер строки. По умолчанию: текущая строка, в которой курсор

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

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

Примечания

RichEdit не содержащий текста имеет одну строку.

Отсчёт строк начинается с 1. Отсчёт символов начинается с 0.

См. также

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

Пример

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

Main()

Func Main()
    Local $hGui, $iCp1, $lblMsg, $hRichEdit
    $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)
    GUISetState()

    _GUICtrlRichEdit_AutoDetectURL($hRichEdit, True)
    _GUICtrlRichEdit_AppendText($hRichEdit, @CR & "http://www.autoitscript.com")
    $iCp1 = _GUICtrlRichEdit_GetFirstCharPosOnLine($hRichEdit, 2)
    _GUICtrlRichEdit_SetSel($hRichEdit, $iCp1, $iCp1 + 3)
    GUICtrlSetData($lblMsg, "Атрибуты символов в начале 2-й строки: " & _
            _GUICtrlRichEdit_GetCharAttributes($hRichEdit))
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit)
                GUIDelete()
                Exit
        EndSwitch
    WEnd
EndFunc   ;==>Main