Je souhaite récupérer un mot sélectionné dans l'un ou l'autre édit de ma fenêtre.
Lorsque j'entre un mot dans l'édit 1 et que je le sélectionne, tout se passe bien, la sélection est bien récupérée.
Lorsque j'entre un mot dans l'édit 2 et que je le sélectionne, la sélection n'est pas récupérée.
Après avoir sélectionné puis récupéré un mot dans l'édit 1, et qu'à la suite je tente de récupérer un mot de l'édit 2, c'est toujours la sélection de l'édit 1 qui est récupérée alors que le mot n'est plus sélectionné.
Voyez-vous où mon code pèche ?
Je vous remercie de votre aide.
Opt("GUIOnEventMode", 1) ; Passe en mode événement
Global $maGui = GUICreate("test sélection", 600, 300, -1, -1)
GuiSetOnEvent(-3, "_Close", $maGui)
Global $edit1 = GUICtrlCreateEdit("",20,20,500,50)
Global $edit2 = GUICtrlCreateEdit("",20,90,500,50)
GUICtrlCreateButton("Test", 100, 160, 60, 20)
GUICtrlSetOnEvent(-1,"resultat")
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Func resultat()
Local $selection = ""
$selection = ControlCommand("", "", $edit1, "GetSelected", "") ; récupère la sélection de $edit1
If ($selection == "") Then $selection = ControlCommand("", "", $edit2, "GetSelected", "") ; récupère la sélection de $edit2
If ($selection <> "") Then
MsgBox(0,"","Le mot sélectionné est : " & $selection)
Else
MsgBox(48,"Attention !","Sélectionnez le mot à rechercher !")
EndIf
EndFunc
Func _Close()
Exit
EndFunc
Global $maGui = GUICreate("test sélection", 600, 300, -1, -1)
GuiSetOnEvent(-3, "_Close", $maGui)
Global $edit1 = GUICtrlCreateEdit("",20,20,500,50)
Global $edit2 = GUICtrlCreateEdit("",20,90,500,50)
GUICtrlCreateButton("Test", 100, 160, 60, 20)
GUICtrlSetOnEvent(-1,"resultat")
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Func resultat()
Local $selection = ""
$selection = ControlCommand("", "", $edit1, "GetSelected", "") ; récupère la sélection de $edit1
If ($selection == "") Then $selection = ControlCommand("", "", $edit2, "GetSelected", "") ; récupère la sélection de $edit2
If ($selection <> "") Then
MsgBox(0,"","Le mot sélectionné est : " & $selection)
Else
MsgBox(48,"Attention !","Sélectionnez le mot à rechercher !")
EndIf
EndFunc
Func _Close()
Exit
EndFunc