Bonjour à tous,
Je n'arrive pas à parcourir les éléments d'un TMainMenu. Par exemple si j'ai un menu fichier, et un menu Option, je souhaite boucler sur les éléments contenus dans Fichier et dans Option....
Avez-vous une diée ?
Merci d'avance
Bonjour à tous,
Je n'arrive pas à parcourir les éléments d'un TMainMenu. Par exemple si j'ai un menu fichier, et un menu Option, je souhaite boucler sur les éléments contenus dans Fichier et dans Option....
Avez-vous une diée ?
Merci d'avance
TMainMenu a une propriétés Items qui est un TMenu, tu dois boucler dessus comme dans ce sujet
Je dois passer à côté de quelque chose...
je fais un bête :
et là je boucle sur mes en-tête du menu, moi je souhaite boucler dedans...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for ii := 0 to TMainMenu1.Items.Count - 1 do ShowMessage(TMainMenu1.Items[ii].Caption);
Alors j'ai bien lu,mais comment accéder à cette propriété ???TMainMenu a une propriétés Items qui est un TMenu
Merci
Il faut faire une recursivité pour avoir l'intrégalité des menus
en itératif, sur 2 niveau
la récursivité te permettra de gérer un nombre infini de niveau, l'imbrication de boucle for, c'est juste pour la démo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for ii := 0 to TMainMenu1.Items.Count - 1 do begin ShowMessage(TMainMenu1.Items[ii].Caption); for ii2 := 0 to TMainMenu1.Items[ii].Count - 1 do ShowMessage(TMainMenu1.Items[ii].Items[ii2].Caption); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShowAllMenu(MainMenu1.Items);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure ShowAllMenu(AItems: TMenuItem); var i: integer; begin for i := 0 to AItems.Count - 1 do begin ShowMessage(AItems.Items[i].Caption); ShowAllMenu(AItems.Items[i].Items); end; end;
Tu utilises déjà Items du TMainMenu1 mais les Items sont des TMenu qui ont aussi des Items qui sont des TMenu ... récursion !
En effet, il me manquant le côté récursif... Merci pour ton aide.
bonjour
sujet intéressant et utile mais comment fait on pour savoir si le menu a des sous menu car quand on lit le menu un message apparait
signalant que l'indice est hors limite
merci a celui qui relit le sujet et qui à la réponse.
Cela se fait implicitement avec le code fourni AItems.Count
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager