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 :

Affecter une action sur un clic droit sur un Label et un Panel


Sujet :

C++Builder

  1. #1
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut Affecter une action sur un clic droit sur un Label et un Panel
    Bonjour à tous

    J'aimerais pouvoir affecter une action sur un clic droit sur un Label et sur un Panel mais je n'y arrive pas

    J'ai regardé dans l'aide et cela me dit d'utiliser l'évèmement OnContextPopup.

    J'ai poser un Panel temporaire sur ma form et je lui est affecter une méthode sur l'évènement OnContextPanel pour connaitre le prototype exact d'une fonction de ce type.

    J'ai ensuite affecter à Mon Label et mon Panel, une fonction sur l'évènement OnContextPanel.

    Et j'ai une erreur à la compilation sur les deux ligne d'affectation de la fonction à l'évèmenent

    [C++ Erreur] FormPrincipale.cpp(795): E2034 Impossible de convertir 'void (_fastcall * (_closure )(TObject *,TPoint &,bool &))(TObject *,TPoint &,bool &)' en 'TContextPopupEvent'
    Voilà les prototype de mes fonctions ainsi que leur affectation
    .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    void __fastcall OnClickDroitCache(TObject *Sender, TPoint &MousePos, bool &Handled);
    void __fastcall OnClickDroitTexte(TObject *Sender, TPoint &MousePos, bool &Handled);
    .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TPanel *Cache = new TPanel(Form);
    ...
    
    Cache->OnContextPopup = OnClickDroitCache;
    ...
    
    TLabel *Texte = new TLabel(Form);
    
    ...
    
    Texte->OnContextPopup = OnClkDroitTexte;
    ...
    Quelqu'un saurait-il comment faire

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Bonjour,

    Pour le clique droit, tu peut utiliser l'evenement OnMouseUp de ton composant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::Label1MouseUp(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
       if (Button ==mbRight) // test si il s'agit d'un clique droit
         ShowMessage(" CLIQUE DROIT " ) ;
    }
    Ce n'est pas parfait et ca peut poser quelques problème, mais c'est une idée!
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  3. #3
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Je suis bète en plus pourquoi je n'y ai pas pensé

    Merci à toi sat83

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

Discussions similaires

  1. Lancer une commande DOS après clic droit sur dossier
    Par Invité(e) dans le forum Windows
    Réponses: 3
    Dernier message: 17/01/2011, 00h27
  2. Affecter une action sur le clic de la molette
    Par Djang0 dans le forum C++Builder
    Réponses: 1
    Dernier message: 27/08/2009, 17h59
  3. Réponses: 10
    Dernier message: 11/04/2008, 13h37
  4. [MFC] clic droit sur une listbox ?
    Par julien.nasser dans le forum MFC
    Réponses: 1
    Dernier message: 07/06/2006, 14h53
  5. Réponses: 6
    Dernier message: 15/05/2006, 17h03

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