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

 Delphi Discussion :

Comment différencier les sous-menus d'un TMenuItem ?


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 342
    Points : 123
    Points
    123
    Par défaut Comment différencier les sous-menus d'un TMenuItem ?
    Bonjour,

    J'aimerais savoir comment on détermine si un TMenuItem est un menu ou un sous menu ?

    En faite, j'ai un PopupMenu contenant des elements et des sous menu. J'aimerais mettre en default, le premier élément qui n'est un un sous menu. Or je n'arrive pas à faire une méthode pour les différencer.

    Merci davance

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Salut,
    Cherche du coté de

    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    En effet il y a cette possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (Menu1.Parent is TMenuItem) 
    then
        Caption := 'menu avec parent' ;

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 342
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Merci beaucoup, toutefois, celà ne fonctionne pas !
    Pour modéliser un peu mieux mon problème, je souhaite réaliser un menu reproduisant un dossier contenant des dossiers et des fichiers avec ses sous dossiers(on prendra comme exemple le c:/') .

    Je veux mettre en defaut uniquement un fichier après que le menu soit construit.
    Voici ci dessous, le speudo code que j'ai fait pour construire mon menu..
    Dans vos propositions, tout mes élements sont des TMenuitem, donc celà ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    CréerMenu('c:/',PopupMenu1.Items);
     
    Function CréerMenu(Chemin :string;Parent: TMenuitem);
    var         myitem:Tmenuitem;
    begin
     
    > Boucle de scanne tout les élements de repertoire "Chemin"
    >
    > nomDuFichier:=FindData.cFileName;
    > if(nomDuFichier = dossier)then
    > begin
    >        myitem:=TMenuitem.Create(Self);
    >         myitem.caption := nomDuFichier;
    >         Parent.Insert(0,myitem);
    >         CréerMenu(Chemin +'\' + nomDuFichier, myitem);
    > end else if(nomDuFichier = fichier)then
    > begin
    > 
    >         myitem:=TMenuitem.Create(PopupMenu1);
    >         myitem.caption := nomDuFichier;
    >         Parent.Insert(0,myitem);
    > end;
    >end;
     
    end;

  5. #5
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    En fait, tu veux créer des sous-menus dynamiquement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var MonSousMenu1 : TMenuItem ;
         TableauSousMenu : array of TMenuitem ;
    begin
        MonSousMenu1 := NewSubMenu('label du menu', 0, 'NomSubItem' , TableauDesElementDuSousMenu_ListItem, True)  ;
     
        SetLength(TableauSousMenu, 1) ;
     
        TableauSousMenu[0] := MonSousMenu1 ;
     
        NewPopupMenu(Self, 'MonMenuToutEnHaut', paLeft, True, TableauSousMenu) 
    end ;
    J'espère avoir été clair, ce n'est pas évident de créer des menus dynamiquement.

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/08/2013, 17h06
  2. [ContextMenu] Comment mon style peut gérer les sous-menus ?
    Par Gregory.M dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 18/09/2008, 22h52
  3. Réponses: 6
    Dernier message: 26/02/2007, 15h33
  4. [Librairies] Comment gérer les sous dossiers INBOX avec IMAP
    Par Cr@zyDeep dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/05/2006, 11h21
  5. Comment récupérer les sous répertoires d'un répertoire
    Par charliejo dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/02/2006, 08h47

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