je m'explique, ce soir, etant celibataire un jour de saint valentin je me suis decide a coder (pour changer), mais je m'egare....
bon..., alors, le code ci-apres fonctionne a peu pres comme je le souhaite sauf que comme le GUICtrlSetData est dans la boucle while, il est renouvelé tres souvent, d'ou les sleep, mais ca ne l'empeche pas de clignoter qq peu, comment faire ?, de plus a cause des sleeps, l envoie de la commande du bouton met un certains temp ainsi que la fermeture de la fenetre ...
Code : Tout sélectionner
GUICreate("", 200, 200)
$Desc0 = "Veuillez choisir un test ..."
$Desc1 = "test n°1"
$Desc2 = "test n°2"
$Desc3 = "test n°3"
$Test = GUICtrlCreateCombo("Choix du test…", 10, 10, 180, 20)
GUICtrlSetData(-1, "test1|test2|test3", "Choix du test…")
GUICtrlCreateLabel("Description :", 10, 50)
$Desc = GUICtrlCreateLabel("", 10, 70, 180, 75)
$TestButton = GUICtrlCreateButton("TEST", 10, 160, 50, 20)
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = -3 Then ExitLoop
$GUIRead = GUICtrlRead($Test)
Select
Case $GUIRead = "Choix du test…"
GUICtrlSetData($Desc, $Desc0)
Sleep(100)
If $msg = $TestButton Then
MsgBox(0, "", $GUIRead)
EndIf
Case $GUIRead = "test1"
GUICtrlSetData($Desc, $Desc1)
Sleep(100)
If $msg = $TestButton Then
MsgBox(0, "", $GUIRead)
EndIf
Case $GUIRead = "test2"
GUICtrlSetData($Desc, $Desc2)
Sleep(1)
If $msg = $TestButton Then
MsgBox(0, "", $GUIRead)
EndIf
Case $GUIRead = "test3"
GUICtrlSetData($Desc, $Desc3)
If $msg = $TestButton Then
MsgBox(0, "", $GUIRead)
EndIf
EndSelect
WEnd
Exit
Code : Tout sélectionner
#include<GuiConstants.au3>
Dim $x
Opt("GUIOnEventMode", 1)
$Test = "test1|test2|test3"
$Desc = "test n°1|test n°2|test n°3"
Global Const $a_Test = StringSplit($Test, "|")
Global Const $a_Desc = StringSplit($Desc, "|")
GUICreate("", 200, 200)
$Combo = GUICtrlCreateCombo("Choix du test…", 10, 10, 180, 20)
GUICtrlSetData(-1, $Test, "Choix du test…")
GUICtrlCreateLabel("Description :", 10, 50)
$DescLabel = GUICtrlCreateLabel("", 10, 70, 180, 75)
;GUICtrlSetOnEvent(GUICtrlSetData($DescLabel, $a_Desc[$x]), "_TestDesc")
GUICtrlSetOnEvent($DescLabel, "_TestDesc")
$TestButton = GUICtrlCreateButton("TEST", 10, 160, 50, 20)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState()
While 1
Sleep(10)
WEnd
Func _TestDesc()
For $x = 1 To $a_Test[0]
If GUICtrlRead($Combo) = $a_Test[$x] Then GUICtrlSetData($DescLabel, $a_Desc[$x])
Next
EndFunc ;==>_TestDesc
Func _Exit()
Exit
EndFunc ;==>_Exit