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 :

Menu Déroulant activé grâce à un bouton


Sujet :

C++Builder

  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut Menu Déroulant activé grâce à un bouton
    Bonsoir,

    Je cherche à faire une Menu Déroulant qui contiendra des Sous-Menus (comme un MainMenu ). Le seul inconvénient, c'est que je voudrais que ce menu "s'exécute"lorsque je clic sur un bouton.
    Peut être est ce simple (trop fatigué pour réfléchir ) ...

    J'espère que vous pourrez m'éclaircir sur ce sujet

    Merci et bonne soirée / matinée lol

  2. #2
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Je pense que tu peux associer un Popupmenu à l'évènement clic gauche de ton bouton. Ca devrait presque faire l'affaire.
    Regarde dans la FAQ si tu ne sais pas comment t'y prendre.

    ++

  3. #3
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    PopupMenu1->Popup(400,200);
    }
    ++A

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Bonjour,

    Merci de vos réponses ! C'est vrai que c'était assez simple, quoi que en ce qui concerne la réponse de Niglo, je n'est rien trouvé dans la FAQ! J'ai peut-être mal cherché. Donc j'ai pas réussi à associé le déroulement du menu au clic sur le bouton. Si tu as une idée de comment procéder, cela serait intéressant

    En attendant, j'utilise ce code ci dessous (merci à Winow):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      PopupMenu1->Popup(Button1->Left+200,Button1->Top+150);
    }
    J'attends vos réponses ...
    @ ++

  5. #5
    Membre confirmé

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Par défaut
    plus générique pour le placement du popup menu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      TPoint p(0, Button1->Height);
      p = Button1->ClientToScreen(p);
      PopupMenu1->Popup(p.x,p.y);
    }
    Sinon je ne vois pas vraiment d'autres méthodes. Ca ne correspond pas à ce que tu veux faire ?

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Merci Slylafone, c'est exactement ce que je recherchai.
    Par contre, tu pourrais me commenter les 2 première ligne de code car je ne vois pas trop comment cela fonctionne (cela est peut être simple, mais quand je ne comprends pas, je ne copie pas )

    En tout cas, cela fonctionne très bien

  7. #7
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Un petit résolu?

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Oui, mon problème est résolu mais avant de mettre le tag, j'aimerai avoir juste l'explication du code car si après je veux l'adapter comme je veux, je pense qu'il vaut mieux pour moi que je comprenne ce que je fais

    Sinon, oui, mon problème est résolu (et je ne vais pas oublier de mettre le petit )


  9. #9
    Membre confirmé

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Par défaut
    Le problème est que la méthode Popup apparaît à l'emplacement spécifié par les coordonnées écran. Donc il faut convertir les coordonnées du bouton en coordonnées écran.

    Pour n'importe quel control on a cette méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Types::TPoint __fastcall TControl::ClientToScreen(const Types::TPoint &Point);
    => Convertit le point spécifié, du système de coordonnées du client en coordonnées écran.

    Voilà l'explication. a+

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Ah ok! Hé bien merci pour l'explication. Justement c'est sur passage que je bloquais

    Voilà, un petit Résolu va pouvoir être mis maintenant

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

Discussions similaires

  1. bouton avec menu déroulant dans la tool bar.
    Par archerhawke dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/10/2009, 19h50
  2. [FLASH 5] Actions boutons dans menu déroulant
    Par Marie-chan dans le forum Flash
    Réponses: 3
    Dernier message: 24/03/2007, 19h30
  3. [PHP-JS] 1 menu déroulant et 2 boutons
    Par frmaniako dans le forum Langage
    Réponses: 3
    Dernier message: 22/08/2006, 16h57
  4. Réponses: 7
    Dernier message: 17/05/2006, 14h49
  5. [FLASH MX] Action des boutons dans un menu déroulant
    Par zab_paris dans le forum Flash
    Réponses: 1
    Dernier message: 05/07/2005, 18h14

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