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

wxWidgets Discussion :

evenement clavier global


Sujet :

wxWidgets

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut evenement clavier global
    Bonjour,

    Voilà petite question sur les evenements clavier.

    J'ai un panel dans un wxSplitterWindow.
    J'aimerai que certaine combinaison (genre ctrl+M) agisse sur mon panel peut importe ou je me trouve sur la form (autre panel, dans un textbox...)

    Et d'autre comme SUPPR n'agisse que si je suis "dans" le panel

    Seulement je n'arrive pas à activer un evenement clavier : il ne passe rien quand je tape sur une touche...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BEGIN_EVENT_TABLE(PanelIcone, wxPanel)
    	EVT_KEY_DOWN(PanelIcone::TouchesRaccourcis)
    END_EVENT_TABLE()
     
     
    void PanelIcone::TouchesRaccourcis(wxKeyEvent& evt)
    {
    	wxMessageBox("ee");
    }
    Donc comment definir quand je suis "dans le panel" car meme si je clique dessus, il n'intersepte pas l'evenement.
    J'aimerai que le CTRL M soit geré par ce panel car il "utiliserai" des variables de ce "panels".

    Voilà j'espere avoir été compréhensible ?

    merci

  2. #2
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    alors att quand tu dit eter dans le panel tu entend que ta souris est dans un panel de ton appli???

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut
    non, dans le panel, pour moi, veut dire quand j'ai cliqué au moins une fois dans le panel.., quand le panel a le focus en fait (si ca se dit pour un panel ?). Si je clique autre par, la touche SUPP n'aura plus d'effet pour ce panel, si je reclique dedans SUPP remarche....

    est -ce plus clair ?

  4. #4
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    tu pourrait recuperer la position de ta souris et losque tu clique ca verifie si tu est dans ta zone de ton panel! car tu peu connait sa position ! tu connais la position de ta fenetre et ton panel tu l'as positionné lors de sa construction

  5. #5
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    en fait j'ai pas fini et oui tu as un attribut de ta classe un boolean serait parfait qui serait a truc lorsque tu aura cliqué dans ta zone (panel) et a false si tu clique aute part ! ensuit losque tu appuis sur supp tu verifie si le boolean est a 1 ou 0 si 1 alors on execute sinon rien

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut
    oui masi le probleme c'est que mon panel n'intersepte pas mon evenement : EVT_KEY_DOWN


    Dans le Panel j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BEGIN_EVENT_TABLE(PanelIcone, wxPanel)
    	EVT_KEY_DOWN(PanelIcone::TouchesRaccourcis)
    END_EVENT_TABLE()
     
     
    void PanelIcone::TouchesRaccourcis(wxKeyEvent& evt)
    {
    	wxMessageBox("ee");
    }
    mais quand je presse une touche, il ne se passe rien !!!
    Le Panel se trouve dans une wxSplitterWindow, c'est peut ca le probleme ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Points : 361
    Points
    361
    Par défaut
    j'ai aussi eu des difficultés pour intercepter les clicks clavier j'ai pas la solution

  8. #8
    Membre régulier Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Points : 109
    Points
    109
    Par défaut
    Le problème vient peut-être du fait que tu n'utilise pas Skip() dans ta fonction qui traite l'évènement.

    Normalement, l'évènement clavier est récupéré par le panel qui a le focus, ensuite celui-ci peut propager ou non cet évènement à son parent.

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut
    ben pour avoir le focus, il suffit de cliquer sur le panel non ?
    Car je n'ai pas d'autre panel qui intersept cette evenement, que ce panel là !

Discussions similaires

  1. [param undef][evenement clavier][2param fonction]
    Par tyrann dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/02/2006, 11h40
  2. [c#] Evenements clavier sur listview
    Par mikyfpc dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/11/2005, 12h35
  3. Evenement clavier sur toute l'interface
    Par Guybrush dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 08/02/2005, 12h13
  4. Problème evenement clavier sous fire fox.
    Par fxp17 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/01/2005, 15h59
  5. Ecouter les evenements clavier et souris
    Par init dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/11/2004, 20h02

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