Lorsque je fais une recherche dans un Edit à partir d'une valeur entrée dans un Input et d'un clic sur un bouton, l'opération réussit.
Mais lorsque je souhaite que le programme lance une recherche dès son ouverture, sans que j'intervienne, la recherche ne s'effectue pas.
Voici le code que je teste :
- La variable $Recherche contient la valeur à trouver dans l'Edit
- $Editeur est l'identification du contrôle Edit
- $sText est le contenu de l'Edit
Code : Tout sélectionner
...
Global $Recherche = "Jean Valjean"
Parcourir()
...
Func Parcourir()
GUICtrlEdit_FindText($Editeur)
EndFunc
Func GUICtrlEdit_FindText($hWnd)
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
Local $sFind
$sFind = StringStripWS($Recherche,3)
Local $sText = GUICtrlEdit_GetText($hWnd)
If $sFind <> "" Then
$iPos = StringInStr($sText, $sFind)
_GUICtrlEdit_SetSel($hWnd, $iPos - 1, ($iPos + StringLen($sFind)) - 1)
_GUICtrlEdit_Scroll($hWnd, $__EDITCONSTANT_SB_SCROLLCARET)
EndIf
EndFunc
Func GUICtrlEdit_GetText($hWnd)
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
Local $iTextLen = _GUICtrlEdit_GetTextLen($hWnd) + 1
Local $tText = DllStructCreate("wchar Text[" & $iTextLen & "]")
_SendMessage($hWnd, $__EDITCONSTANT_WM_GETTEXT, $iTextLen, $tText, 0, "wparam", "struct*")
Return DllStructGetData($tText, "Text")
EndFunc
Je vous remercie.


