_GUICtrlRichEdit_GetFirstCharPosOnLine
Возвращает между-символьную позицию, предшествующую первому символу указанной строки
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetFirstCharPosOnLine($hWnd [, $iLine = -1])
Параметры
$hWnd | Дескриптор элемента |
$iLine |
[необязательный] Номер строки. По умолчанию: текущая строка, в которой курсор |
Возвращаемое значение
Успех: | Возвращает позицию первого символа строки |
Ошибка: | Возвращает 0 и устанавливает @error |
@error: | 101 - $HWnd не является дескриптором |
1021 - $iLine не является положительным или -1 | |
1022 - $iLine больше, чем количество строк в тексте |
Примечания
RichEdit не содержащий текста имеет одну строку.См. также
Искать 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