Lance un dialogue de recherche
#include <GuiEdit.au3>
_GUICtrlEdit_Find ( $hWnd [, $bReplace = False] )
$hWnd | ID/handle du contrôle |
$bReplace | [optionnel] Option de remplacement: True - Option Rechercher/Remplacer False - Option Rechercher |
Si vous utilisez le texte du contrôle d'édition et que ce texte est remplacé la fonction ne fonctionnera plus correctement.
; Utilisation de la fonction interne AutoIt #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <WindowsConstants.au3> Example_Internal() Func Example_Internal() Local $s_Text = "Ceci est un test" & @CRLF & _ "Ceci est seulement un test" & @CRLF & _ "Ce test devrait réussir chez vous comme chez moi" Local $idButton1, $idButton2, $iMsg, $idEdit GUICreate('Exemple Find And Replace avec AutoIt '& FileGetVersion(@AutoItExe), 622, 448, 192, 125) $idEdit = GUICtrlCreateEdit($s_Text, 64, 24, 505, 233, _ BitOR($ES_AUTOVSCROLL, $WS_VSCROLL, $ES_MULTILINE, $WS_HSCROLL, $ES_NOHIDESEL)) $idButton1 = GUICtrlCreateButton("Find", 176, 288, 121, 33, 0) $idButton2 = GUICtrlCreateButton("Find And Replace", 368, 288, 121, 33, 0) GUISetState(@SW_SHOW) Do $iMsg = GUIGetMsg() Switch $iMsg Case $idButton1 _GUICtrlEdit_Find($idEdit) Case $idButton2 _GUICtrlEdit_Find($idEdit, True) Case Else ; ; ; ; ; ; ; EndSelect Until $iMsg = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example_Internal
; Utilisation de l'UDF standard #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> Example_External() Func Example_External() Local $s_Text = 'Exemple Find And Replace avec AutoIt '& FileGetVersion(@AutoItExe) & @CRLF & _ "Ceci est un test" & @CRLF & _ "Ceci est seulement un test" & @CRLF & _ "Ce test devrait réussir chez vous comme chez moi" Local $hTitle, $hHandle Local $sTitle = "[CLASS:Notepad]" Run("notepad.exe", "", @SW_MAXIMIZE) ; Attend que la fenêtre "Untitled" existe WinWait($sTitle) ; Obtient le handle d'une fenêtre de bloc-notes $hTitle = WinGetHandle($sTitle) If @error Then MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible de trouver la bonne fenêtre") Else $hHandle = ControlGetHandle($hTitle, "", "Edit1") If @error Then MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible de trouver le bon contrôle") Else ; Envoyer un texte directement sur le champ de saisie de cette fenêtre ControlSend($hTitle, "", "Edit1", $s_Text) _GUICtrlEdit_Find($hHandle, True) EndIf EndIf EndFunc ;==>Example_External