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 :

Firemonkey Popup Menu sur une Form


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 Firemonkey Popup Menu sur une Form
    Bonjour à tous

    Je crois bien que je me suis embarqué dans un truc pénible en voulant développer avec firemonkey car il y a pas mal de différences avec le développement VCL. Je n'ai pas fini de vous solliciter.

    Je cherche désespérément à affecter un Popup Menu à la form principale de mon application. Je ne trouve pas la propriété PopupMenu dans l'inspecteur d'objet comme on pouvais le trouver avec la VCL.

    J'ai essayé de faire ceci et le popup Menu s'affiche bien mais lorsque je réalise un clic droit ailleurs sur l'écran alors que le Popmenu est affiché, il ne se passe rien.

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void __fastcall TPrincipaleForm::OnMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
    		  float X, float Y)
    {
    	// Si le bouton est le droit
    	if(Button == TMouseButton::mbRight)
    	{
    		// on affiche le Menu Popup
    		PopupMenu->Popup(X, Y);
        }
    }
    Merci d'avance pour votre aide

  2. #2
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Salut, tu as les mêmes problèmes que moi, tu penses comme un développeur Windows Je m'amuse déjà depuis quelques temps avec fmx et un des ces points fort c'est qu'il est conçu pour être multiplateforme. Sur un Mac les popup menu c'est pas très utilisé. C'est pour cette raison que ce n'est pas un composant recommandé pour l'utiliser trop souvent. Il faut penser à des alternatives.

    J'ai vu que tu commences avec FireMonkey, il faudrait savoir quel plateforme tu vises. Présentement il y a Win32, Win64 et OSX32. En décembre il y aura iOS avec l'Update 2 pour C++Builder XE5.
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  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
    Pour l'instant mon application est développer pour windows mais à terme elle pourrais passer sous Mac

    Tu penses à quoi comme alternative car mon appli est en plein écran et il ne doit pas y avoir autre chose de visible à l'écran que l'arrière-plan. Je ne peut donc pas utiliser un Menu classique toujours affiché. C'est pourquoi j'ai opté pour le PopupMenu

  4. #4
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    C'est difficile je ne connais pas ton application. Est-ce que l'évènement doit absolument être avec un clique droit? Est-ce que les options peuvent apparaitrent n'importe où, ou elle doivent être à coté de la zone cliqué?
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 78
    Points : 136
    Points
    136
    Par défaut
    je te conseille d'utiliser un TPanel avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Panel1->PopupMenu=PopupMenu;
     Panel1->Align=9;

  6. #6
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Citation Envoyé par udinacer Voir le message
    je te conseille d'utiliser un TPanel
    Salut udinacer, cela aura le même effet dans FireMonkey que ce que kurul1 à décrit plus haut.

    En passant je ne comprend pas cette ligne de code:
    Citation Envoyé par udinacer Voir le message
    Voici le code pour les valeurs de TAlign:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enum DECLSPEC_DENUM TAlign : unsigned char { alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom };
    Donc ça va de 0 à 6! J'utilise C++Builder XE5 donc peut-être que certaine valeur on été enlevé dans le passé. De toute façon ce n'est jamais une bonne idée de mettre une valeur numérique à la place d'un élément d’énumération. Tu vas devoir changer un paquet de code la journée qu'Embarcadero décide d'utiliser seulement des enum class avec C++11.
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

Discussions similaires

  1. [C#] Création menu sur fenêtre form
    Par Tips dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/11/2005, 21h29
  2. Afficher un bouton appartenant à une classe sur une form
    Par Julien_riquelme dans le forum Composants VCL
    Réponses: 2
    Dernier message: 05/09/2005, 13h10
  3. Dessiner un rectangle sur une forme
    Par Neo41 dans le forum MFC
    Réponses: 6
    Dernier message: 13/08/2005, 01h08
  4. Comment spécifier des raccourcis claviers sur une Form ?
    Par Sydaze dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/06/2005, 09h05
  5. Minimize Maximize perso sur une form autre que Application
    Par sdebrois dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 07/03/2005, 17h59

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