Detecter le changement de valeur d'un combo-box [Résolu]
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Detecter le changement de valeur d'un combo-box [Résolu]
Bonjour à tous.
Dans les centaines de codes que j'ai lu il me semble avoir vu la gestion de l'evenement "changement d'une combo-box" ou bien d'un texte.
J'ai fait les recherche avec "change", mais pas moyen de remettre la main dessus, ni sur le POST ni sur la constante.
Car je voudrais que mon action ne se declenche que si la valeur du combo a réellement changé et non pas a chaque fois que je clic dessus.
L'aurais je révé ???
Merci et bonne journée
Dans les centaines de codes que j'ai lu il me semble avoir vu la gestion de l'evenement "changement d'une combo-box" ou bien d'un texte.
J'ai fait les recherche avec "change", mais pas moyen de remettre la main dessus, ni sur le POST ni sur la constante.
Car je voudrais que mon action ne se declenche que si la valeur du combo a réellement changé et non pas a chaque fois que je clic dessus.
L'aurais je révé ???
Merci et bonne journée
Dernière modification par Kwai chang caine le lun. 30/avr./2007 7:36, modifié 1 fois.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
peut être si on a accès direct aux fonctions GTK+ en utilisant les "signals" en C çà donne :Kwai chang caine a écrit :J'avais fait cette methode, mais je croyais qu'il existait une constante ou un truc de ce genre, disons un peu plus pro.
Code : Tout sélectionner
gtk_signal_connect(GTK_ENTRY(GTK_COMBO(combo)->entry), "changed", (GtkSignalFunc)affiche_infos, (gpointer)entries);
Fais une recherche avec #CBN_SELCHANGE come mot clé (pour une combobox)...
par exemple : http://www.purebasic.fr/english/viewtopic.php?t=18443
Autres contrôles : #EN_CHANGE (edit), #MCN_SELCHANGE (calendrier), #TCN_SELCHANGE (panel), etc...
par exemple : http://www.purebasic.fr/english/viewtopic.php?t=18443
Autres contrôles : #EN_CHANGE (edit), #MCN_SELCHANGE (calendrier), #TCN_SELCHANGE (panel), etc...
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Salut Kwai truc machin... !
Tu cherches loin ce que tu as devant le nez !
Utilise une variable (ici Combo) et verifie sont évolution !
Tu cherches loin ce que tu as devant le nez !
Utilise une variable (ici Combo) et verifie sont évolution !
Code : Tout sélectionner
Global Combo, charge.s ="N"
Enumeration
#Window_0 : #Combo_0 : #Button_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 419, 244, 306, 226, "Ma fenêtre", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ComboBoxGadget(#Combo_0, 20, 20, 140, 90,#PB_ComboBox_Editable)
ButtonGadget(#Button_0, 200, 20, 80, 20, "Charge Combo")
EndIf
EndIf
EndProcedure
Open_Window_0()
Combo = GetGadgetState(#Combo_0)
Repeat
Event = WaitWindowEvent()
GadgetID = EventGadget()
If Event = #PB_Event_Gadget
If GadgetID = #Combo_0
Debug EventType
If Combo<>GetGadgetState(#Combo_0)
Combo = GetGadgetState(#Combo_0)
MessageRequester("Alerte !","Modifcation Combo_0 !")
EndIf
EndIf
ElseIf GadgetID = #Button_0 And charge.s = "N"
For n=1 To 5
AddGadgetItem(#Combo_0,-1,"Ligne : - "+Str(n))
Next
charge.s="O"
Combo = GetGadgetState(#Combo_0)
SetGadgetState(#Combo_0,0)
EndIf
Until Event = #PB_Event_CloseWindow
End
Denis
Bonne Jounée à tous
Bonne Jounée à tous
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Bonjour BROSSDEN de mon coeur
Si tu avais lu ce que tu as juste au dessus de ton nez
Minirop avais déja dit:
Bonne soirée

Si tu avais lu ce que tu as juste au dessus de ton nez

Minirop avais déja dit:
Ce a quoi j'avais répondu:minirop a écrit :tu gardes en mémoire la valeur actuelle et quand EventGadget() correspond à ta combo box, tu regarde si la valeur à changé ou non.
Mais, quoi qu'il en soit , je te remercie beaucoup de ton aideKwai truc machin a écrit : Je te remercie Minirop de ta reponse.
J'avais fait cette methode, mais je croyais qu'il existait une constante ou un truc de ce genre, disons un peu plus pro.
Et il me semblait l'avoir vu dans un code.
Mais je confond peut etre ....

Bonne soirée