Lister les menus principaux d'une fenêtre
Cet exemple permet de lister les options des menus déroulants d'une fenêtre. Une procédure récursive est utilisée.
// Appel de la procédure récursive
RemplirMenu(MaFenêtre..Nom)
PROCÉDURE RemplirMenu(sParent, nNiveau est un entier = 0)
// Enumération des options de menu
sOption est une chaîne = EnumèreSousElément(sParent, enumPremier + enumMenuPrincipal)
// Il ne faut pas mettre le nom du menu principal
SI nNiveau = 0 ET sOption <> "" ALORS
RemplirMenu(sParent + "." + sOption, nNiveau + 1)
RETOUR
FIN
TANTQUE sOption <> ""
// Nom complet de l'option de menu
sNomComplet est une chaîne = sParent + "." + sOption
// Ajout de l'option de menu
SI {sNomComplet,indGPW}..Type = typOptionMenu ALORS
Trace(sNomComplet, typOptionMenu, {sNomComplet,indGPW}..Libellé, "", nNiveau)
FIN
// Options du niveau supérieur
RemplirMenu(sNomComplet, nNiveau + 1)
// Option suivante
sOption = EnumèreSousElément(sParent)
FIN