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 :

[wxwidgets] creation identifiant


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Par défaut [wxwidgets] creation identifiant
    Bonjour

    Voilà j'aimearai savoir, quand je creer une wxFrame avec un bouton à l'interieur ayant comme ID : ID_BOUTON1

    Est ce que si je cree un wxPanel (dans cettre frame ou pas mais toujours dans la meme fenetre) si je cree un bouton ID_BOUTON1, il aura comme reponse aux evenements elui de mon autre bouton ?

    En clair : est ce que les ID sont globals ou chq wxWindow à des composants qui ont un id. Et donc 2 wxWindows peuvent avoir un composants chacun avec l'Id ID_BOUTON1 sans que l'un influence l'autre ?

    je sais pas si c'est tres clair ?

    merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    J'ai déjà constaté quelques conflits en choisissant des ID de même valeur, mieux vaut avoir des identifiants globaux.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Par défaut
    mais helas defois ce n'est pas possible par exemple, j'ai un bouton qui me rajoute des panels(dasn un notebook) es panels ont des boutons, texte... des qu'ont les crée....donc je ne vois pas comment faire d'autre....

    j'ai donc un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class MonPanel : public wxPanel
    {
      enum
      {
         ID_BOUTON1 = wxID_HIGHEST+1,
         ID_BOUTON2,
     };
    }
    donc des que je cree un nouveau "MonPanel" il a les identifiants !

  4. #4
    Membre confirmé Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Par défaut
    Effectivement les ID sont globaux ( ce qui est logique et très pratique )


    pour résoudre ton problème tu peux définir tes IDs en laissant une marge du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    enum
      {
         ID_BOUTON_M = wxID_HIGHEST+1,
         ID_BOUTON_P1 = wxID_HIGHEST+101,
         ID_BOUTON_P2 = wxID_HIGHEST+201
     };
    Ainsi tu peux avoir une centaine d'IDs uniques disponibles pour chaque panel.

    (c'est pas très clair donc si tu veux plus d'explication c'est possible)

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Par défaut
    euh non c'est pas tres clair en effet

    par exemple, iagionons que wxID_HIGHEST+1 = 3 (c'est un exemple)

    quand je fait

    MonPAnel* p = new MonPanel(...)
    MonPAnel* p1 = new MonPanel(...)
    MonPAnel* p2 = new MonPanel(...)

    Dans p, p1, p2, j'aurai toujours un bouton avec l'ID 3 dans mes panels non ?

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Rien ne t'empêche d'avoir des plages d'ID différentes pour chaque instance de Panel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class MonPanel : public wxPanel
    {
    public :
     
        MonPanel(int BaseID, ...);
    };
     
    MonPanel* p = new MonPanel(100, ...);
    MonPanel* p1 = new MonPanel(200, ...);
    MonPanel* p2 = new MonPanel(300, ...);
    Après, je ne sais pas si c'est la solution la plus propre...

Discussions similaires

  1. [VB6] Création de composant
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/10/2002, 14h52
  2. [c++ builder] creation de surface sur TPanel
    Par JEG dans le forum DirectX
    Réponses: 7
    Dernier message: 23/09/2002, 22h41
  3. [Kylix] SIGSEGV 11 - creation form
    Par pram dans le forum EDI
    Réponses: 1
    Dernier message: 29/08/2002, 15h24
  4. Creation de fiche dynamique
    Par Mouss26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/07/2002, 07h56
  5. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36

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