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

C++Builder Discussion :

Ajout Menu dans un PopupMenu


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Points : 18
    Points
    18
    Par défaut Ajout Menu dans un PopupMenu
    Bonjour,
    Dans mon programme je crée plusieurs menus dans un popupmenu avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    NewItems[p] = new TMenuItem(PopupMenu1);
    NewItems[p]->Caption = "&Option";
    NewItems[p]->OnClick = FonctionOption;
    PopupMenu1->Items->Add(NewItems[p++]);
     
    NewItems[p] = new TMenuItem(PopupMenu1);
    NewItems[p]->Caption = "&Restaure";
    NewItems[p]->OnClick = FonctionRestaure;
    PopupMenu1->Items->Add(NewItems[p++]);
     
    ...
    Cela fonctionne bien.
    A présent, je désire le faire par l'intermediaire d'une fonction créée par mes soins, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    AddMenu("&Option",FonctionOption);
     
    void __fastcall TForm1::AddMenu(char * texte,??? fonction)
    {  NewItems[p] = new TMenuItem(PopupMenu1);
       NewItems[p]->Caption = texte;
       NewItems[p]->OnClick = fonction;
       PopupMenu1->Items->Add(NewItems[p++]);
    }
    Pour le premier paramètre "char * texte", pas de problème,
    mais pour le second "??? fonction", je n'y arrive pas. Avez-vous une solution ?

  2. #2
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    tu met le nom de ta fonction, sans type ni paramètre.

    Exemple:

    Prototype de ma fonction;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void __fastcall TMenuCV::ActionPopup(TObject *Sender)
    Lien avec le onClick:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Menu->OnClick = ActionPopup;

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Merci pour la réponse , mais ce n'est pas mon problème.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Salut,

    Tu ne peux pas passer la chaîne de caractères du nom de ta fonction ? Un autre char *?
    Bon courage.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    T'es sûr?! Il doit ensuite te suffir de placer le nom de ta fonction en paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TMenuCV::ActionPopup(TObject *Sender){}
     
    void __fastcall TForm1::AddMenu(char * texte,ActionPopup()) 
    { 
      NewItems[p] = new TMenuItem(PopupMenu1); 
      NewItems[p]->Caption = texte; 
      NewItems[p]->OnClick = fonction; 
      NewItems[p]->OnClick = ActionPopup;
      PopupMenu1->Items->Add(NewItems[p++]); 
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TMenuCV::ActionPopup(TObject *Sender){}
     
    void __fastcall TForm1::AddMenu(char * texte,ActionPopup(this)) 
    { 
      NewItems[p] = new TMenuItem(PopupMenu1); 
      NewItems[p]->Caption = texte; 
      NewItems[p]->OnClick = fonction; 
      NewItems[p]->OnClick = ActionPopup;
      PopupMenu1->Items->Add(NewItems[p++]); 
    }
    enfin un truc comme ça quoi..

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    void __fastcall TForm1::AddMenu(char * texte,ActionPopup(this))
    void __fastcall TForm1::AddMenu(char * texte,ActionPopup())

    Et comment je déclare la fonction AddMenu :
    void __fastcall AddMenu(char * texte,???) ;
    Il faut un type. C'est tout mon problème.

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    J'ai trouvé, et ce n’était pas facile de trouver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void __fastcall TForm1::AddMenu(char * texte,Classes::TNotifyEvent fonction)
    {  NewItems[p] = new TMenuItem(PopupMenu1);
       NewItems[p]->Caption = texte;
       NewItems[p]->OnClick = fonction;
       PopupMenu1->Items->Add(NewItems[p++]);
    }
     
    AddMenu("&Option",&FonctionOption);

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

Discussions similaires

  1. Ajouter Menu dans Excel
    Par ticroch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2011, 22h01
  2. [XL-MAC 2004] Ajout menu dans Barre d'excel
    Par patyom dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/02/2010, 15h34
  3. Ajout menu dans Excel
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/09/2007, 14h20
  4. Creer un nouveau menu dans le popupMenu New
    Par bpy1401 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 29/11/2006, 08h37
  5. Réponses: 15
    Dernier message: 12/08/2005, 15h06

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