_GUICtrlEdit_Find
Инициировать диалог поиска
#include <GuiEdit.au3>
_GUICtrlEdit_Find($hWnd [, $fReplace = False])
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$fReplace |
[необязательный] Опции замены: True - Показать опции False - Скрыть опции |
Примечания
Если вы используете текст из окна редактирования и этот текст заменяется, то функция больше не будет работать корректно.Пример
#include <GuiEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Debug_Ed = False ; Проверяет ClassName передаваемый в Edit функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
Example_Internal() ; работа с внутренним окном
Example_External() ; работа с внешним окном
Func Example_Internal()
Local $s_texttest = 'Это тест' & @CRLF & _
"Это только тест" & @CRLF & _
"Этот тест должен работать для вас также, как работает для меня"
Local $Button1, $Button2, $msg, $hEdit
GUICreate('Пример Найти и Заменить в AutoIt ' & FileGetVersion(@AutoItExe), 440, 420)
$hEdit = GUICtrlCreateEdit($s_texttest, 10, 10, 420, 350, _
BitOR($ES_AUTOVSCROLL, $WS_VSCROLL, $ES_MULTILINE, $WS_HSCROLL, $ES_NOHIDESEL))
$Button1 = GUICtrlCreateButton("Найти", 70, 370, 120, 33, 0)
$Button2 = GUICtrlCreateButton("Найти и Заменить", 250, 370, 120, 33, 0)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button1
_GUICtrlEdit_Find($hEdit)
Case $Button2
_GUICtrlEdit_Find($hEdit, True)
EndSwitch
WEnd
GUIDelete()
EndFunc ;==>Example_Internal
Func Example_External()
Local $s_texttest = 'Найти и заменить, пример AutoIt ' & FileGetVersion(@AutoItExe) & @LF & _
'Это тест' & @LF & _
"Это только тест" & @LF & _
"Этот тест должен работать для вас также, как работает для меня"
Local $hWnd, $handle
Local $Title = "[CLASS:Notepad]"
Run("notepad.exe", "", @SW_MAXIMIZE)
;Ожидание окна не более 5 сек
$hWnd = WinWait($Title, '', 5)
If $hWnd Then
$handle = ControlGetHandle($hWnd, "", "Edit1")
If @error Then
MsgBox(4096, "Ошибка", "Не удалось найти нужного элемента управления")
Else
; Отправляет текст прямо в окно редактора
ControlSend($hWnd, "", "Edit1", $s_texttest)
_GUICtrlEdit_Find($handle, True)
EndIf
Else
MsgBox(4096, "Ошибка", "Не удалось дождаться окна")
EndIf
EndFunc ;==>Example_External