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

GTK+ Discussion :

[gtkmm] menu popup selection


Sujet :

GTK+

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Points : 248
    Points
    248
    Par défaut [gtkmm] menu popup selection
    Bonjour,

    Je voulais savoir s'il était possible, lors d'un click sur un menu popup, de récupérer l'option choisie dans le menu ?

    Je m'explique:
    Si on prend une combo box, il y a la fonction get_active_text qui permet de récuprérer l'option choisit.

    Je voudrais faire la même chose dans un menu contextuel, pour éviter de définir un callback pour chaque élement du menu... mais je ne trouve pas l'option

    Merci

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Si ce que tu veux est un seul callback pour toutes tes options du menu contextuel, bin tu relie simplement chaque élément au même callback tout en assignant une valeur entière qui servira d'indice à chaque élément de ton menu.

    Cette valeur tu la transmet au quatrième argument de g_signal_connect.

    Dans le callback il te suffit ensuite de récupérer cette valeur qui est bien sûr unique pour chaque élément, puis un simple switch-case suffit pour déterminer l'action à effectuer !

    J'espère que ca ira pour toi, si j'ai bien compris ce que tu veux
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Points : 248
    Points
    248
    Par défaut
    oui, en fait on me l'a donné hier cette idée, c'est bête de pas y avaoir pensé
    Faut que je m'habitue aux signaux moi /D par contre, je sais pas si je peux passer mon argument de cette manière, il me semble que la fonction connect ne prenne qu'un slot en argument, mais on peut utiliser la fonction bind

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Gtkmm] Creer un menu popup sur un Gtk::StatusIcon
    Par kelepoc dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 17/08/2009, 15h13
  2. encore des menu popup
    Par meli0207 dans le forum MFC
    Réponses: 8
    Dernier message: 03/06/2005, 15h57
  3. menu popup
    Par meli0207 dans le forum MFC
    Réponses: 2
    Dernier message: 03/06/2005, 10h44
  4. menu popup sur une zone de text
    Par jesus144 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/05/2005, 23h15
  5. Comment créer un menu popup style XP ?
    Par chaours dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/09/2003, 09h38

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