Функция _GUICtrlEdit_Find

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


_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