_GUICtrlRichEdit_GetCharWordBreakInfo
Возвращает информацию символа разделителя слов
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetCharWordBreakInfo($hWnd, $iCp)
Параметры
$hWnd | Дескриптор элемента |
$iCP |
Межсимвольная позиция слева от интересующего символа |
Возвращаемое значение
Успех: | Возвращает строку состоящую из значений разделённых точкой с запятой: |
первое значение является флагом прерывания слова: | |
c - линия может быть прервана после этого символа | |
d - символ является разделителем конца слова. Линия может быть прервана после разделителя | |
w - символ является пробельным. (Конечные пробелы не включены в длину строки.) | |
второе значение является символьный класс: число. См примечание | |
Ошибка: | Возвращает "" - пустую строку и устанавливает @error |
@error: | 101 - $hWnd не является дескриптором |
102 - $iCp не является числом |
Примечания
Линия может быть прервана разделителем или различными межсимвольными классами.См. также
_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