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

Composants VCL Delphi Discussion :

Comment mettre le même TMainMenu dans plusieurs Form ?


Sujet :

Composants VCL Delphi

  1. #1
    gmc
    gmc est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 40
    Points : 33
    Points
    33
    Par défaut Comment mettre le même TMainMenu dans plusieurs Form ?
    Bonjour,


    comment faire pour mettre 1 seul et même MainMenu dans plusieurs forms ?

    Si j'associe mon MainMenu à ma form principal, je ne pe pas utiliser ce meme MainMenu pour une autre form, car il me dit qu'il est deja utiliser pour une autre form...

    Merci

  2. #2
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut
    pourquoi as-tu besoin de faire ça ?
    La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
    Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance

  3. #3
    gmc
    gmc est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    pour avoir le meme menu, avec les meme action sur ce menu,

    Mon logicile creer des forms, et je ve ke ces forme possede le meme menu partout

  4. #4
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut
    Fait un nouveau composant, avec les items et les actions qui doivent etre communs, et instancie le dans chaque form.
    La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
    Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Fait un nouveau composant, avec les items et les actions qui doivent etre communs, et instancie le dans chaque form.
    PAs mieux.
    C'ets la technique la plus efficace dans ce genre de situation.
    C'est le principe meme de la prog Objet.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    bonjour

    Il existe peut être une solution plus simple.

    Eventuellement les frames, mais le frame et les menus ne doivent pas forcément fait bon ménage.

    Et puis surtout la possibilité de se servire d'une formecomme modèle pour en créer une nouvelle.

    Exemple:
    Créer un projet Essai.
    Dans ce projet créer un form FModele dans l'unité UModéle.
    Sauvegarder tous le projet.
    Dans le menu de delphi
    Fichier
    |-- Nouveau
    |-- Autre
    une fenetre s'ouvre indiquant quelle choix sont posible (nouvelle forme, nouveau data module etc..)
    Choisir l'ongle "ESSAI" (Le nom du projet)
    Selectionner la forme FModele
    Cliquer sur OK

    on obtient une forme copier de FModele que l'on peu modifier.
    Attention, si l'on modifie FModele, la nouvelle forme sera modifier lors de la prochaine compilation.

    Il faut utiliser les option du PROJET (surtout pas les options de delphi) pour metre cette forme en mainform

  7. #7
    gmc
    gmc est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Merci à tous pour vos réponses !!

    J'ai finalement pris la solution de créer dynamiquement le menu à partir d'un TMainMenu.

    Solution :

    Dans chaque form que l'on veut ajouter son menu, ajouter dans les uses : Menus

    Dans l'évenement "Create" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
      new_menu : TMainMenu;
    begin
     
      new_menu := TMainMenu.Create(self);
     
      new_menu.Merge(DataModuleGeneral.MainMenu1);
     
      self.Menu := new_menu;
    Où DataModuleGeneral est un DataModule où se trouve le TMainMenu que l'on recopie à chaque fois.
    Puis apres on l'affecte notre création dynamique du TMainMenu à la form courante !

    Voilà !!

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

Discussions similaires

  1. [Lazarus] Utiliser la même variable dans plusieurs FORM
    Par Yoanben dans le forum Lazarus
    Réponses: 2
    Dernier message: 25/05/2010, 15h26
  2. Réponses: 7
    Dernier message: 11/06/2009, 16h24
  3. Réponses: 4
    Dernier message: 11/09/2008, 08h24
  4. Réponses: 3
    Dernier message: 30/05/2008, 09h03
  5. Réponses: 10
    Dernier message: 08/02/2007, 13h18

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