Функция _GUICtrlRichEdit_GetCharWordBreakInfo

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


_GUICtrlRichEdit_GetCharWordBreakInfo

Возвращает информацию символа разделителя слов

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetCharWordBreakInfo($hWnd, $iCp)

Параметры

$hWnd Дескриптор элемента
$iCP Межсимвольная позиция слева от интересующего символа

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

Успех:Возвращает строку состоящую из значений разделённых точкой с запятой:
первое значение является флагом прерывания слова:
c - линия может быть прервана после этого символа
d - символ является разделителем конца слова. Линия может быть прервана после разделителя
w - символ является пробельным. (Конечные пробелы не включены в длину строки.)
второе значение является символьный класс: число. См примечание
Ошибка:Возвращает "" - пустую строку и устанавливает @error
@error:101 - $hWnd не является дескриптором
102 - $iCp не является числом

Примечания

Линия может быть прервана разделителем или различными межсимвольными классами.

Символьный класс определяется в способе прерывания. Классы по умолчанию:
0 = буквенно-цифровой символ
1 = иной печатный символ (кроме дефиса)
2 = пробел
3 = табуляция
4 = дефис или конец абзаца

См. также

_GUICtrlRichEdit_GetCharPosOfNextWord, _GUICtrlRichEdit_GetCharPosOfPreviousWord

См. также

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

Пример

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

Global $lblMsg, $hRichEdit

Main()

Func Main()
    Local $hGui, $btnNext, $iCp, $s
    $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()

    $s = Chr(9)
    For $i = 32 To 126 ; Заполняет символами
        $s &= Chr($i)
    Next
    _GUICtrlRichEdit_AppendText($hRichEdit, $s & @CR)
    _GUICtrlRichEdit_AppendText($hRichEdit, "AutoIt v3 - бесплатный бейсикоподобный скриптовой язык предназначенный для автоматизации окон GUI.")
    _GUICtrlRichEdit_AppendText($hRichEdit, @CRLF & "Другой абзац")
    _GUICtrlRichEdit_GotoCharPos($hRichEdit, 0) ; Устанавливает курсор в начало

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit)
                GUIDelete()
                Exit
            Case $btnNext
                $iCp = _GUICtrlRichEdit_GetSel($hRichEdit) ; Получает текущую позицию курсора
                $iCp = $iCp[0]
                $iCp += 1
                _GUICtrlRichEdit_GotoCharPos($hRichEdit, $iCp)
                GUICtrlSetData($lblMsg, _GUICtrlRichEdit_GetCharWordBreakInfo($hRichEdit, $iCp))
                ; ControlFocus($hRichEdit, "", "")
        EndSwitch
    WEnd
EndFunc   ;==>Main