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

VC++ .NET Discussion :

[D�butant] Menu contextuel.


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut [D�butant] Menu contextuel.
    Bonjour,

    je suis d�butant et j'aimerais ajouter un menu contextuel (clic droit) sur un RichTextBox mais je ne vois pas comment faire. J 'ai tent� de comprendre les explications de la MSDN mais sans succ�s.

    Si quelqu'un peut me venir en aide.
    Merci d'avance.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    de quel type est ton application ? Win32 classique ? MFC ? .Net (winforms) ?

  3. #3
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    Mon application est de type winForm.

    Merci d'�tre si rapide.

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  5. #5
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    Merci bien, j'avais d�j� regarder ce tutoriel mais je suis un petit d�butant et je n'arrive pas � l'utiliser donc j'ai deux question :

    O� je d�lare les trois variables ? (c'est bien dans le constructeur juste avant de les cr�er avec gcnew)

    O� je dois placer la conditionnelle pour le click droit ? (C'est bien dans le constructeur aussi)

    Merci.

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    les 3 variables peuvent etres d�clar�es en tant que membre priv�es de ta classe.

    Et pour g�n�rer l'�v�nement du click droit, tu s�lectionnes le controle sur lequel tu veux activer le menu contextuel, tu selectionnes dans la fenetre de propri�t� le bouton "event", et tu choisis right_click, comme expliqu� � la fin du chapitre trois du tutoriel d'introduction au winforms http://nico-pyright.developpez.com/t...s/#LhelloWorld

  7. #7
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    Merci pour ta r�ponse, j'ai fait tout ce que tu m'as conseill� mais j'ai toujours un souci le compilateur me renvoie des erreurs sur le e->Button et le e->Location.

    Voil� ce que j'ai pourtant fait (par contre je n'ai pas trouv� l'�v�nement RightClick) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private: System::Void menu_clic_droit(System::Object^  sender, System::EventArgs^  e) {
     
    System::Windows::Forms::ContextMenu^ monMenu = gcnew System::Windows::Forms::ContextMenu();
    			MenuItem^ eltColor = gcnew MenuItem("Couleur");
     
    if (e->Button == System::Windows::Forms::MouseButtons::Right)
    {
             monMenu->MenuItems->AddRange(gcnew array<MenuItem ^> {eltColor});
            monMenu->Show(richTextBox1 ,e->Location);
     
    }
    Les erreurs renvoy�es sont les suivantes :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Erreur	1 error C2039: 'Button' : n'est pas membre de 'System::EventArgs'	d:\visual studio 2005\projects\post_it\post_it\note.h	153
    Erreur	2 error C2039: 'Location' : n'est pas membre de 'System::EventArgs'	d:\visual studio 2005\projects\post_it\post_it\note.h	157

    Merci d'avance pour ta disponibilit�.

  8. #8
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    oui pardon, il n'y a pas d'evenement rightclick, c'est sur l'evenement Mouseclick qu'il faut agir, sachant que la determination du bouton ce fait grace au code indiqu�

  9. #9
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    OK, merci je pensais bien que c'�tait ce style d'�v�nement mais mon probl�me pour button et Location persiste toujours, si tu as une id�e ?

  10. #10
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    l'evenement mouseclick a un param�tre MouseEventArgs, utilis� dans ce cadre, le code fonctionnera

  11. #11
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    Je ne comprend pas bien ta r�ponse pourrait tu corriger mon code ou expliciter ce que je dois faire avec le MouseEventArgs.

    Merci d'avance.

    Petit rappel voici mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private: System::Void menu_clic_droit(System::Object^  sender, System::EventArgs^  e) {
     
    			System::Windows::Forms::ContextMenu^ monMenu = gcnew System::Windows::Forms::ContextMenu();
    			MenuItem^ eltColor = gcnew MenuItem("Couleur");
     
    			 if (e->Button == System::Windows::Forms::MouseButtons::Right)
    				{
    				monMenu->MenuItems->AddRange(gcnew array<MenuItem ^> {eltColor});
    				monMenu->Show(richTextBox1 ,e->Location);
    				}
    		 }

  12. #12
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    d'o� vient cette fonction menu_clic_droit ?
    a quel handler est-elle rattach�e ?

  13. #13
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    C'est moi qui est cr�� cette fonction, elle est ratach�e au handler MouseClick.

    Mais j'ai pas d�t bien comprendre ce que tu m'as expliqu�.

  14. #14
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    si c'est bien le cas, c'est ok alors
    mais tu dois changer le prototype de la fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    private: System::Void menu_clic_droit(System::Object^  sender, System.Windows.Forms.MouseEventArgs^  e) {

  15. #15
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    private:
    System::Void menu_clic_droit(System::Object^  sender, System.Windows.Forms.MouseEventArgs^ e) {
    }
    Euh... Il y a des :: qui se perdent, l�, non ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #16
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    Merci pour ta r�ponse,

    la compilation se passe sans probl�me mais lors du clic droit sur mon composant, rien ne se passe.

    Si tu vois pourquoi �a m'aiderait, j'en ai marre de bloquer sur ce menu...

    PS : effectivement il fallait remmplacer les . par des :: mais ce n'est qu'une faute de frappes je pense.

  17. #17
    Membre averti
    Inscrit en
    D�cembre 2006
    Messages
    61
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2006
    Messages : 61
    Par d�faut
    C'est bon mon probl�me est r�solu, j'avais oubli� d'ajout� mon menu contextuel dans l'attribut ContextMenuStrip de mon composant.

    Je te remercie beaucoup pour ton aide.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    R�ponses: 6
    Dernier message: 06/04/2009, 12h23
  2. Visibilit� commande dans un Menu contextuel
    Par Hamdi dans le forum IHM
    R�ponses: 3
    Dernier message: 20/01/2005, 12h29
  3. [Plugin] Ajouter une option au menu contextuel ?
    Par relivio dans le forum Eclipse Platform
    R�ponses: 2
    Dernier message: 22/03/2004, 16h18
  4. [VB6] menu contextuel dynamique
    Par da40 dans le forum VB 6 et ant�rieur
    R�ponses: 10
    Dernier message: 15/07/2003, 11h53
  5. [VB6] menu contextuel sur clique droit souris
    Par da40 dans le forum VB 6 et ant�rieur
    R�ponses: 7
    Dernier message: 08/07/2003, 11h07

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