IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tcl/Tk Discussion :

Associer différentes commandes à un bouton de menu


Sujet :

Tcl/Tk

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par défaut Associer différentes commandes à un bouton de menu
    Bonjour,

    je veux utiliser une combobox et j'ai récupérer le code de celle ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
           menubutton .chauffage.ecran.partie_commande.prog_semaine.b -menu .chauffage.ecran.partie_commande.prog_semaine.b.m -textvar ::var -width 10 -relief groove 
      	menu .chauffage.ecran.partie_commande.prog_semaine.b.m -tearoff 0
    	foreach value {orange poire pomme banane ananas} \
      	{ .chauffage.ecran.partie_commande.prog_semaine.b.m add command -label $value -command  [  list set ::var $value  ]
    }
    Je veux associer à chaque bouton (orange, poire, ... ) une action qui sera executée lorsqu'on cliquera dessus (une mise à jour de l'interface). La syntaxe est -command{ procedure }.

    Cependant, ici on a -command [ ... ]
    J'ai testé avec des puts et j'en ai déduit que la commande est éxécutée à la création du bouton, et n'est plus exécutée quand on clique sur le bouton. Il faut quand même l'exécuter au début pour que ::var prenne la bonne valeur car les boutons dépendent d'une liste qui varie (ici "orange poire pomme ...") et que je ne peux donc faire une procédure pour chaque bouton.

    Est ce que quelqu'un a une idée pour que je puisse associer les deux actions?
    (celle qui s'éxécute à l'instruction et celle qui s'éxecute quand on touche le bouton)
    Merci beaucoup.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut
    Salut Nonozor.

    1) Lors de l'initialisation du bouton, tu peux faire appel à la commande -command { Procedure}

    2) Lors de la pression du bouton, il te faut créer un évènement (bind) lié au bouton lorsqu'il est pressé de telle sorte que la procédure liée au bouton sera activée lors de sa pression de ce dernier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bind .bouton <ButtonPress> { variables globales (touchant la Procedure); Procedure }
    J'espère que mon explication te sera utile.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut
    Salut Nonozor.

    Est-ce que tu peux nous donner un code exploitable afin qu'il marche plus ou moins correctement afin de le réutiliser et mieux t'aider? Merci d'avance.

    A+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par défaut
    Salut!
    Merci de la motivation que tu as pour m'aider.

    J'ai mis mes 2 fichiers tcl en pièce jointe, mais j'ai mis leurs extensions en .txt car les .tcl étaient refusés.
    on démarre dans accueil.tcl et on arrive dans la page qui me pose problème en cliquant sur le bouton "programmation", qui est en haut à gauche, sans la partie "chauffage et luminosité".
    Mon problème est, comme je l'expliquais dans mon premier post, que je veux que la combobox lance une procédure lorqu'on la modifie. Cette action est en fait un affichage de la programmation correspondant à la programmation choisie par la checkbox. Par exemple, si je choisi "vacance" dans la combobox, un récapitulatif de la programmation de la programmation "vacance" s'affichera dans la partie droite de l'écran.
    Il faut donc appeler une procédure ( ici maj_feedback) qui dépend de la variable de la combobox (ici ::var_semaine ).

    J'ai utilisé bind, comme tu me l'as suggeré, mais il reste un problème: le bouton appel maj_feedback avant de modifier ::var_semaine. maj_feedback afficherait donc (si je l'avait déjà implémenté) la programmation de l'ancienne valeur de ::var_semaine.

    As tu une solution à me proposer pour que maj_feedback soit appelée avec la nouvelle valeur de ::var_semaine?

    Merci beaucoup.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut
    Salut.

    Voici les codes:

    Acceuil.txt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    #Include
    source chauffage.tcl
     
    #Declaration des variables globales
     
    	#Tableau des jours
     
    	set tab_jour(lundi) "jour semaine"
    	set tab_jour(mardi) "jour semaine"
    	set tab_jour(mercredi) "jour semaine"
    	set tab_jour(jeudi) "jour semaine"
    	set tab_jour(vendredi) "jour semaine"
    	set tab_jour(samedi) "jour week-end"
    	set tab_jour(dimanche) "jour week-end"
     
    	#Liste des types_jour
     
    	set liste_types_jour [ list "jour semaine" "jour week end" ]
     
    	#Variables de NoNo
     
    	set est_prog_par_semaine t
     
    	set type_choisi vacance
     
    	set liste_types_semaine [ list "vacance" "periode_scolaire" ]
     
     
     
    # Ecran d'accueil de l'application
     
    wm title . Domotique
    wm geometry . 1000x600+10+10
     
     
    #Definition des proc
     
    proc CreerFenetreOptions {} {
     
    	toplevel .option -background #bfd7ff
    	wm title .option Options
    	wm geometry .option 1000x600+10+10
     
    	label .option.text -text "Il n'y a rien de codé pour cette fenetre ..." -justify center -background #bfd7ff
    	place .option.text -relx 0.41 -rely 0.47
     
    	button .option.quit -text Quitter -command {destroy .option} -bg #93c2ff -activebackground #ffdb73
    	pack .option.quit -side bottom
     
    }
     
     
    #Definition des frames
     
    frame .header -bd 2 -relief groove -background #bfd7ff
    place .header -relx 0 -rely 0 -relheight 0.15 -relwidth 1
     
    frame .ecran -bd 0 
    place .ecran -relx 0 -rely 0.15 -relheight 0.85 -relwidth 1
     
    frame .ecran.chauffage -bd 0 -background #bfd7ff
    place .ecran.chauffage -relx 0 -rely 0 -relheight 0.5 -relwidth 0.5
     
    frame .ecran.jardin -bd 0 -background #bfd7ff
    place .ecran.jardin -relx 0 -rely 0.5 -relheight 0.5 -relwidth 0.5
     
    frame .ecran.app -bd 0 -background #bfd7ff
    place .ecran.app -relx 0.5 -rely 0.5 -relheight 0.5 -relwidth 0.5
     
    frame .ecran.comm -bd 0 -background #bfd7ff
    place .ecran.comm -relx 0.5 -rely 0 -relheight 0.5 -relwidth 0.5
     
    #Definition du Header
     
    label .header.title -font {helvetica 15 bold} -text Accueil -bg #bfd7ff
    place .header.title -relx 0.5 -rely 0.35
     
    button .header.options -text "  Options  " -command { CreerFenetreOptions } -bg #93c2ff -activebackground #ffdb73
    pack .header.options -side left
     
     
    #Definition de la partie Chauffage
     
    label .ecran.chauffage.title -text "Chauffage et luminosité" -font {helvetica 14} -background #bfd7ff
    place .ecran.chauffage.title -relx 0.33 -rely 0.05
     
    button .ecran.chauffage.prog -text "  Programmation  " -bg #93c2ff -activebackground #ffdb73 -command { CreerFenetreChauffage } 
    place .ecran.chauffage.prog -relx 0.4 -rely 0.20
     
    button .ecran.chauffage.modif_temp -text "  Modification temporaire  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.chauffage.modif_temp -relx 0.35 -rely 0.32
     
    button .ecran.chauffage.types_temp -text "  Modification des types de température  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.chauffage.types_temp -relx 0.28 -rely 0.44
     
     
    #Definition de la partie Jardin
     
    label .ecran.jardin.title -text "  Arrosage du jardin  " -font {helvetica 14} -background #bfd7ff
    place .ecran.jardin.title -relx 0.35 -rely 0.05
     
    button .ecran.jardin.prog -text "  Programmation  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.jardin.prog -relx 0.4 -rely 0.20
     
    button .ecran.jardin.modif_temp -text "  Modification temporaire  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.jardin.modif_temp -relx 0.35 -rely 0.32
     
     
    #Definition de la partie communication
     
    label .ecran.comm.title -text "Communication" -font {helvetica 14} -background #bfd7ff
    place .ecran.comm.title -relx 0.36 -rely 0.05
     
    button .ecran.comm.visio -text "  Visiophone  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.comm.visio -relx 0.4 -rely 0.20 
     
    button .ecran.comm.inter -text "  Interphone  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.comm.inter -relx 0.4 -rely 0.32
     
     
    #Definition de la partie Appareils menagers
     
    label .ecran.app.title -text "Appareils ménagers" -font {helvetica 14} -background #bfd7ff
    place .ecran.app.title -relx 0.35 -rely 0.05
     
    button .ecran.app.prog -text "  Programmation  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.app.prog -relx 0.4 -rely 0.20  
     
    button .ecran.app.aff -text "  Affichage des taches  " -bg #93c2ff -activebackground #ffdb73
    place .ecran.app.aff -relx 0.37 -rely 0.32 
     
     
    #Bouton Quitter, pour faciliter le codage :P
     
    button .ecran.jardin.quit -text Quitter -command { exit }
    pack .ecran.jardin.quit -side bottom
    Chauffage.txt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
     
     
     
    #Includes
     
    source prog_semaine.tcl
     
     
     
     
    proc maj_feedback {} {
     
    	puts $::var_semaine
    }
     
     
     
     
    #Definition de la fenetre pour programmer le reste
     
     
    proc CreerFenetreChauffage {} {
     
     
    	#Liste des types_jour
     
    	global set liste_types_jour
     
    	#Variables de NoNo
     
    	global est_prog_par_semaine 
     
    	global type_choisi
     
    	global liste_types_semaine
     
        set t t
     
     
     
    	#definition de la fenetre
     
    	toplevel .chauffage
    	wm title .chauffage "Programmation du chauffage et de la luminosite"
    	wm geometry .chauffage 1000x600+10+10
     
     
    	#definition des frames
     
    	frame .chauffage.header -bd 2 -relief groove -background #bfd7ff
    	place .chauffage.header -relx 0 -rely 0 -relheight 0.15 -relwidth 1
     
    	frame .chauffage.ecran
    	place .chauffage.ecran -relx 0 -rely 0.15 -relheight 0.85 -relwidth 1
     
    	frame .chauffage.ecran.partie_commande
    	place .chauffage.ecran.partie_commande -relx 0 -rely 0 -relheight 1 -relwidth 0.6
     
    	frame .chauffage.ecran.partie_feedback -bd 0 -background #bfd7ff
    	place .chauffage.ecran.partie_feedback -relx 0.6 -rely 0 -relheight 1 -relwidth 0.4
     
    	frame .chauffage.ecran.partie_commande.indication -bd 0 -background #bfd7ff  
    	place .chauffage.ecran.partie_commande.indication -relx 0 -rely 0 -relheight 0.2 -relwidth 1
     
    	frame .chauffage.ecran.partie_commande.prog_semaine -bd 0 -background #bfd7ff  
    	place .chauffage.ecran.partie_commande.prog_semaine -relx 0 -rely 0.2 -relheight 0.3 -relwidth 1
     
    	frame .chauffage.ecran.partie_commande.prog_jour -bd 0 -background #bfd7ff
    	place .chauffage.ecran.partie_commande.prog_jour -relx 0 -rely 0.5 -relheight 0.3 -relwidth 1
     
    	frame .chauffage.ecran.partie_commande.quitter_enregistrer  -bd 0 -background #bfd7ff
    	place .chauffage.ecran.partie_commande.quitter_enregistrer -relx 0 -rely 0.8 -relheight 0.2 -relwidth 1
     
     
     
    	#Definition du header
     
    	label .chauffage.header.title1 -font {helvetica 15 bold} -text "CHAUFFAGE ET LUMINOSITE" -bg #bfd7ff
    	pack .chauffage.header.title1 -side top -fill both -expand 1	
     
     
     
     
     
    	#Definition de l'indication
     
    	label .chauffage.ecran.partie_commande.indication.title -text "Programmation:" -font {helvetica 14} -background #bfd7ff
    	place .chauffage.ecran.partie_commande.indication.title -relx 0.1 -rely 0.05
     
     
     
     
     
    	#Definition de la programmation par semaine
     
    	label .chauffage.ecran.partie_commande.prog_semaine.title -text "par semaine" -font {helvetica 14} -background #bfd7ff
    	place .chauffage.ecran.partie_commande.prog_semaine.title -relx 0.1 -rely 0.05
     
     
     
     	if { $est_prog_par_semaine == $t } {set ::var_semaine $type_choisi }   \
    	else { set ::var_semaine "" }
     	menubutton .chauffage.ecran.partie_commande.prog_semaine.b -menu .chauffage.ecran.partie_commande.prog_semaine.b.m -textvar ::var_semaine -width 10 -relief groove 
      	menu .chauffage.ecran.partie_commande.prog_semaine.b.m -tearoff 0
    	foreach value   $liste_types_semaine	{
    		 .chauffage.ecran.partie_commande.prog_semaine.b.m add command -label $value -command [list set ::var_semaine $value ]  
    	}  
     
    	set pixels \
    			{
    			{#888 #888 #888 #888 #888 #888}
    			{#000 #888 #888 #888 #888 #000}
    			{#000 #000 #888 #888 #000 #000}
    			{#000 #000 #888 #000 #000 #000}
    			}
    	set img [image create photo]
    	$img put $pixels
    	for {set i 0} {$i < 4} {incr i} \
    	{
    		for {set j 0} {$j < 6} {incr j} \
    		{
    		if {[lindex $pixels $i $j] == "#000"} \
    		{ $img transparency set $j $i 1 }
    		}
    	}
     
    	button .chauffage.ecran.partie_commande.prog_semaine.fleche -image $img 
    	place .chauffage.ecran.partie_commande.prog_semaine.fleche -relx 0.44 -rely 0.10 
     
    	place .chauffage.ecran.partie_commande.prog_semaine.b -relx 0.3 -rely 0.05   	
     
     
    	bind .chauffage.ecran.partie_commande.prog_semaine.b.m <ButtonPress> { maj_feedback }  
     
     
    	button .chauffage.ecran.partie_commande.prog_semaine.modifier -bg #93c2ff -activebackground #ffdb73 -text "Modifier" -command { CreerFenetreProgSemaine { $::var_semaine } }
     	place .chauffage.ecran.partie_commande.prog_semaine.modifier -relx 0.3 -rely 0.3
     
    	button .chauffage.ecran.partie_commande.prog_semaine.creer -bg #93c2ff -activebackground #ffdb73 -text Creer -command { CreerFenetreProgSemaine { $::var_semaine } }
    	place .chauffage.ecran.partie_commande.prog_semaine.creer -relx 0.45 -rely 0.3
     
     
    	button .chauffage.ecran.partie_commande.prog_semaine.supprimer -bg #93c2ff -activebackground #ffdb73 -text "Supprimer" -command { }
    	place .chauffage.ecran.partie_commande.prog_semaine.supprimer -relx 0.3 -rely 0.5
     
     
     
     
     
     
     
    	#Definition de la prod_jour
     
    	label .chauffage.ecran.partie_commande.prog_jour.title -text "par jour" -font {helvetica 14} -background #bfd7ff
    	place .chauffage.ecran.partie_commande.prog_jour.title -relx 0.1 -rely 0.05
     
     
     
     	if { $est_prog_par_semaine == $t } {set ::var_jour "" }  \
    	else { set ::var_jour $type_choisi }
     	menubutton .chauffage.ecran.partie_commande.prog_jour.b -menu .chauffage.ecran.partie_commande.prog_jour.b.m -textvar ::var_jour -width 10 -relief groove 
      	menu .chauffage.ecran.partie_commande.prog_jour.b.m -tearoff 0
    	foreach value   $liste_types_jour	{
    		 .chauffage.ecran.partie_commande.prog_jour.b.m add command -label $value -command [list set ::var_jour $value ] 
    	}  
     
    	button .chauffage.ecran.partie_commande.prog_jour.fleche -image $img 
    	place .chauffage.ecran.partie_commande.prog_jour.fleche -relx 0.44 -rely 0.10 
     
    	place .chauffage.ecran.partie_commande.prog_jour.b -relx 0.3 -rely 0.05   	
     
     
    	bind .chauffage.ecran.partie_commande.prog_jour.b.m <ButtonPress> { maj_feedback }  
     
     
    	button .chauffage.ecran.partie_commande.prog_jour.modifier -bg #93c2ff -activebackground #ffdb73 -text "Modifier" -command {}
     	place .chauffage.ecran.partie_commande.prog_jour.modifier -relx 0.3 -rely 0.3
     
    	button .chauffage.ecran.partie_commande.prog_jour.creer -bg #93c2ff -activebackground #ffdb73 -text Creer -command {}
    	place .chauffage.ecran.partie_commande.prog_jour.creer -relx 0.45 -rely 0.3
     
     
    	button .chauffage.ecran.partie_commande.prog_jour.supprimer -bg #93c2ff -activebackground #ffdb73 -text "Supprimer" -command { maj_prog_semaine }
    	place .chauffage.ecran.partie_commande.prog_jour.supprimer -relx 0.3 -rely 0.5
     
     
    	#Definition de la partie enregistrer supprimer
     
     
    	button .chauffage.ecran.partie_commande.quitter_enregistrer.enregistrer -bg #93c2ff -activebackground #ffdb73 -text "Enregistrer" -command { }
    	place .chauffage.ecran.partie_commande.quitter_enregistrer.enregistrer -relx 0.3 -rely 0.5
     
     
    	button .chauffage.ecran.partie_commande.quitter_enregistrer.quitter -bg #93c2ff -activebackground #ffdb73 -text "quitter" -command { exit }
    	place .chauffage.ecran.partie_commande.quitter_enregistrer.quitter -relx 0.6 -rely 0.5
     
     
     
    }
    As-tu essayé de mettre "global ::var_semaine;" entre les accolades du bind avant de faire appel maj_feedback ?

    Par ailleurs, il est plus simple de programmer avec "upvar" ou "global" que d'utiliser les notions pointées par rapport au namespace.

    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par défaut
    Salut!

    J'ai changer le bind en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	bind .chauffage.ecran.partie_commande.prog_semaine.b.m <ButtonPress> { global ::var_semaine
          maj_feedback }
    ou en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	bind .chauffage.ecran.partie_commande.prog_semaine.b.m <ButtonPress> { global ::var_semaine;   # compris comme la variable ::var_semaine; ?
          maj_feedback }
    mais le problème reste le même: maj_feedback est appelé avant que ::var_semaine ne soit mise à jour.

    Aurais tu autre chose à me proposer?
    Merci beaucoup.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut
    Salut Nonozor.

    Il faut que tu fasses appel à la procédure qui met à jour ta variable ::var_semaine avant celle faisant appel à maj_feedback à l'intérieure
    des accollades du bind. A moins que cela soit le programme principal qui ne le fasse, dans ce cas de figure il n'y pas besoin d'utiliser la procedure mettant à jour la variable ::var_semaine.

    A+

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par défaut
    Cela aurait été pratique.

    Malheureusement, le code pour que ::var_semaine soit modifiée est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    foreach value $liste_types_semaine { .chauffage.ecran.partie_commande.prog_semaine.b.m add command -label $value -command[list set ::var_semaine $value ] }
    Un des problèmes est que la liste est modifiable: on peut y ajouter ou y enlever des éléments. Je ne vois donc pas comment modifier ce code.
    Il n'y a donc pas une procédure mais une action associée à chaque ligne du menu codant la combobox.
    Je ne peut donc l'associer au bind du menu.

    Une solution serait de faire un bind pour chaque ligne du menu, mais je ne sais pas comment l'appeler sur une ligne du menu car je ne sais pas comment elles se nomment.

    Est ce que tu saurais comment faire cela?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut
    Salut Nonozor.

    Est-ce que tu as essayé de parcourir les valeurs de ta combobox et de les mettre en variables globales?

    A+

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par défaut
    Les valeurs que peut prendre la combobox sont les éléments de liste_types_semaine, qui est en variable globale. J'ai mis ::var_semaine en variable globale, mais ça ne change rien.

    La valeur de la combobox est correctement modifiée, mais le problème est qu'elle est modifiée après que l'action associée avec le bind soit éxecutée.

    Je n'ai pas bien compris ce que tu me proposes: est ce que c'est pour associer une action avec bind à chaque ligne du menu, comme je le proposais dans mon dernier post?

Discussions similaires

  1. Problème avec Goto pour un bouton de menu
    Par Klotian dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2006, 17h49
  2. associer un son à un bouton
    Par Mucsy dans le forum MFC
    Réponses: 7
    Dernier message: 19/12/2005, 22h17
  3. Comportement différent entre un bouton et une image
    Par MicheMTP13 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/11/2005, 08h47
  4. Commande pour accéder au menu de gestion compte utilisateur?
    Par Virgile59 dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 17/10/2005, 12h00
  5. Réponses: 3
    Dernier message: 13/06/2005, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo