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 :

[debutant] BEGIN_EVENT_TABLE ou wxEvtHandler::Connect ?


Sujet :

wxWidgets

  1. #1
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut [debutant] BEGIN_EVENT_TABLE ou wxEvtHandler::Connect ?
    Bonjour,

    Je suis débutant avec wxWidget.

    Pour "attacher" une fonction à un élément graphique (bouton, menu...) j'ai vu qu'il y avait deux manières de proceder:
    1/ soit en utilisant des macros:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BEGIN_EVENT_TABLE(MainFrame, wxFrame)
        EVT_BUTTON(ID_Quit,  MainFrame::OnQuit)
        EVT_BUTTON(ID_ChangeTitle, MainFrame::OnChangeTitle)
        EVT_MENU(ID_Quit,  MainFrame::OnQuit)
        EVT_MENU(ID_ChangeTitle, MainFrame::OnChangeTitle)
    END_EVENT_TABLE()
    2/ soit en utilisant la fonction Connect:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myMainFrame->Connect(ID_Quit,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction) &MainFrame::OnQuit);
      myMainFrame->Connect(ID_ChangeTitle,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction) &MainFrame::OnChangeTitle);
      myMainFrame->Connect(ID_Quit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction) &MainFrame::OnQuit);
      myMainFrame->Connect(ID_ChangeTitle,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction) &MainFrame::OnChangeTitle);
    De premier abord, la fonction Connect me plait plus, mais dans 80% des exemples et cours et conseil que je lis, les macros sont utilisés. Seulement je ne trouve pas de justification de ce choix

    Je voudrai acquérir des bonnes habitudes dès le début, c'est pour ça que je vous demande conseil. Est-ce que les macros sont mieux que la fonction connect, et si oui pourquoi? est-ce qu'il y a une grande différence? (une méthode apporte des possibilité qu'une autre n'aporte pas, etc etc?)

    Merci de vos avis
    Biosox

  2. #2
    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
    je n'apporte pas vraiment un élément de réponse, mais moi j'utilise les macros peut etre parce que comme tu dis 80 % des gens font comme ça. Mais utiliser les méthode de connection et de déconnection permet de faire créer un jeu d'évenement "dynamique". si par exemple tu mets dans une option de ton programme, le choix pour l'utilisateur d'agir sur un control avec un simple clic ou un double clic sur un élément, la deuxième sera dans ce cas adaptée. J'aimerais aussi avoir l'avis d'un "expert" sur cette question.

  3. #3
    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
    oui comme expliqué si dessus la method connect permet de definir dinamiquement l'action d'un evenement par exemple si tu veux changé l'action d'un bouton ce que tu ne peut pas faire avec les macro!! de plus si tu deconnecte ton evenement tu nettoie ta memoire

  4. #4
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    merci.

    J'ai entre-temps compilé et executé un des "samples": event.
    Justement il illustre ce principe de définir dynamiquement les actions pour chaque events.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/12/2006, 21h56
  2. [Debutant]Creation d'une connection vers ORACLE
    Par Wisefool dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/08/2005, 16h59
  3. [debutant] [XML] chaine de connection base de donnee
    Par clairenes dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 28/07/2005, 18h53
  4. [Debutant]Impossible de se connecter au serveur local
    Par Kenji dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/04/2005, 19h55
  5. [Debutant][router]se connecter derriere un router
    Par baert dans le forum Développement
    Réponses: 6
    Dernier message: 18/02/2004, 10h03

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