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+ avec C & C++ Discussion :

clic droit et gauche


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Par défaut clic droit et gauche
    Bonjour,
    j'aime savoir une fonction qui permet de désactiver un bouton lorsque je clic par le bouton gauche (de la sourie) mais le laisse activer lorsque je clic par le bouton droit (comme le jeu démineur lorsque je marque une bombe).
    J'aimerais savoir si quelqu'un parmi vous a une solution à ce problème.

    Merci à l'avance et cordialement

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Partons du principe que l'objet à cliquer est effectivement un GtkButton.

    Ce widget peut émettre plusieurs types de signaux dont le fameux signal "clicked" . Ca paraît simple au premier abord. On connecte ce signal est le tour est joué. Malheureusement il nous est impossible dans le CALLBACK de savoir quel bouton de la souris a été enfoncé.

    Pour remédié au problème il faut récupérer l'évènement qui a produit l'appel au CALLBACK. Pour ca tu as la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    GdkEvent*           gtk_get_current_event               (void);
     
    Obtains a copy of the event currently being processed by GTK+. For example, if you get a "clicked" signal from GtkButton, the current event will be the GdkEventButton that triggered the "clicked" signal. The returned event must be freed with gdk_event_free(). If there is no current event, the function returns NULL.
     
    Returns :
    	a copy of the current event, or NULL if no current event.
    Comme tu peux le voir c'est dit explicitement dans la doc. officielle. Cette fonction est faite pour toi .

    Donc tu récupères dans un pointeur l'évènement. Il te suffit ensuite de prendre l'information du GdkEventButton.

    Ce que tu en fait après ne regarde que toi.

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. Différencier un clic droit et gauche sur QTableView
    Par ccfconsulting dans le forum Débuter
    Réponses: 9
    Dernier message: 15/02/2013, 15h18
  3. [MooTools] Evénement pour clic droit ou gauche
    Par drick35 dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 02/11/2012, 15h46
  4. [Débutant] Tester clic droit ou gauche souris
    Par shaun_the_sheep dans le forum C#
    Réponses: 4
    Dernier message: 02/10/2012, 09h57
  5. Spécifier un clic droit ou gauche dans SIGNAL?
    Par maroua_mm dans le forum Qt
    Réponses: 12
    Dernier message: 08/09/2009, 14h12

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