_GUICtrlRichEdit_FindText
Поиск текста от позиции курсора или от позиции курсора в выделенном тексте
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_FindText($hWnd, $sText [, $fForward = True [, $fMatchCase = False [, $fWholeWord = False [, $iBehavior = 0]]]])
Параметры
$hWnd | Дескриптор элемента |
$sText |
Искомый текст |
$fForward |
[необязательный] Направление поиска (Win 95: поиск всегда вперед) |
$fMatchCase |
[необязательный] Поиск с учетом регистра По умолчанию: не учитывать регистр символов |
$fWholeWord |
[необязательный] Поиск, только для текста, как целое слово По умолчанию: часть или целое слово |
$iBehavior |
[необязательный] Любая комбинация BitOr из $FR_MATCHALEFHAMZA, $FR_MATCHDIAC и $FR_MATCHKASHIDA
По умолчанию: 0 |
Возвращаемое значение
Успех: | Если найдено после указанной позиции начала, то возвращается позиция первого символа найденного сопоставления текста, иначе -1 |
Ошибка: | Возвращает -1 и устанавливает @error |
@error: | 101 - $HWnd не является дескриптором |
102 - $sText = "" | |
103 - $fForward не является True или False | |
104 - $fMatchCase не является True или False | |
105 - $fWholeWord не является True или False | |
1061 - $iBehavior не является числом | |
1062 - $iBehavior не является допустимым значением |
См. также
_GUICtrlRichEdit_FindTextInRangeСм. также
Искать EM_FINDTEXT в библиотеке MSDNПример
#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
OnAutoItExitRegister('_OnExit') ; Удаляет RichEdit и GUI даже при завершении скрипта с ошибкой
$hGui = GUICreate("Поиск текста", 320, 300, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "Возвращает позицию найденного текста", 10, 10, 400, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$lblMsg = GUICtrlCreateLabel("Строка состояния", 10, 300-20, 300, 17)
$iButton = GUICtrlCreateButton('Найти текст', 220, 240, 80, 20)
$iInput = GUICtrlCreateInput('позИцию', 10, 240, 200, 20)
GUISetState()
While 1
Switch GUIGetMsg()
Case $iButton
; Устанавливает текстовый курсор в начало, так как поиск от курсора
_GUICtrlRichEdit_GotoCharPos($hRichEdit, 0)
$sFindText = GUICtrlRead($iInput)
; Поиск текста
$iPos = _GUICtrlRichEdit_FindText($hRichEdit, $sFindText)
If Not @error Then
GUICtrlSetData($lblMsg, $iPos)
; Выделяет найденный текст
_GUICtrlRichEdit_SetSel($hRichEdit, $iPos, $iPos + StringLen($sFindText))
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _OnExit()
; Для версий ниже 3.3.8.0 обязательно удаление RichEdit или GUI для освобождения ресурсов RichEdit
_GUICtrlRichEdit_Destroy($hRichEdit)
GUIDelete()
EndFunc