[résolu] ComboBoxgadget et EventType
Publié : mar. 24/mai/2011 18:05
Je suis en train de voir que les eventtype() ne sont pas gérés dans un ComboBoxGadget. En tout cas la doc ne l'indique pas et ça ne fonctionne (logiquement) pas.
J'essaye de faire sans mais du coup je me retrouve avec un resultat qui s'affiche 2 fois dans le debug.
Dans l'exemple suivant, sélectionnez "super soft" dans la liste puis réessayez en le dé-sélectionnant puis en le re sélectionnant.
on voit que le debug affiche une fois "super soft" lors de la sélection mais une seconde fois lorsque l'on clique juste après sur "mettre à jour".
J'essaye de faire sans mais du coup je me retrouve avec un resultat qui s'affiche 2 fois dans le debug.
Dans l'exemple suivant, sélectionnez "super soft" dans la liste puis réessayez en le dé-sélectionnant puis en le re sélectionnant.
on voit que le debug affiche une fois "super soft" lors de la sélection mais une seconde fois lorsque l'on clique juste après sur "mettre à jour".
Code : Tout sélectionner
; Mise à Jour Rapide
Enumeration
#LDVM
EndEnumeration
Enumeration
#ComboList
#Text_1
#BT_SUP
#BT_MAJ
#AFF_INFO
#NUMV
EndEnumeration
;> User pref
Global.s Maj_ZIP, Maj_NOM, Maj_NumVer
Maj_NOM="Super Soft"
Maj_NumVer="1.2"
Procedure OpenWindow_LDVM()
If OpenWindow(#LDVM, 475, 350, 291, 115, "Mise à Jour Facile", #PB_Window_SystemMenu|#PB_Window_TitleBar)
ComboBoxGadget(#ComboList, 2, 65, 180, 20)
AddGadgetItem(#ComboList, -1, "> Sélectionner un programme <")
AddGadgetItem(#ComboList, -1, Maj_NOM)
SetGadgetState(#ComboList, 0)
TextGadget(#Text_1, 185, 40, 103, 20, "Version actuelle", #PB_Text_Center|#SS_CENTERIMAGE)
StringGadget(#AFF_INFO, 2, 40, 175, 20, "Choisir le programme à mettre à jour", #PB_String_ReadOnly|#ES_CENTER)
StringGadget(#NUMV, 200, 65, 80, 20, "", #PB_String_ReadOnly|#ES_CENTER)
ButtonGadget(#BT_MAJ, 2, 92, 286, 20, "Mettre à jour",#BS_FLAT)
DisableGadget(#BT_MAJ,1)
EndIf
EndProcedure
OpenWindow_LDVM()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #ComboList
Num_Soft=GetGadgetState(#ComboList)
If Num_Soft <> 0
SetGadgetText(#NUMV,Maj_NumVer)
SetGadgetText(#AFF_INFO,"Fichier pret à être mis à jour")
SetGadgetState(#ComboList, Num_Soft)
DisableGadget(#BT_MAJ,0)
Else
Num_Soft=0
SetGadgetText(#NUMV,"")
SetGadgetText(#AFF_INFO, "Choisir le programme à mettre à jour")
DisableGadget(#BT_MAJ,1)
EndIf
Debug GetGadgetItemText(#ComboList,Num_Soft)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #LDVM
CloseWindow(#LDVM)
Break
EndSelect
EndSelect
ForEver