Accueil > FAQ > WinDev Codes | FAQ |
Demandé et répondu par R&B le 05-Oct-2004 15:47 (5737 Lectures)
Comment connaitre le nom d'une option de menu à partir de son identifiant
L'énumération des élements apparue avec WinDev 7 permet bien des choses...
Dans le cas présent une procédure pour connaitre le nom d'une option de menu à partir de son identifiant (pratique pour en constituer une liste)
Exemple d'utilisation :
donne un résultat comme suit :
Citation :
Dans le cas présent une procédure pour connaitre le nom d'une option de menu à partir de son identifiant (pratique pour en constituer une liste)
// Retourne le nom d'une option de menu à partir de son N° ID
PROCEDURE MenuNom(sParent,nNumOption, nNiveau=0)
// L'appel est du type :
// MenuNom(NomFenêtre,NumOption)
// NomFenêtre = Nom de la fenêtre contenant le menu à parcourir
// NumOption = Numéro de l'option recherchée
sRetour est une chaîne // nom de l'option ayant pour ID nNumOption
// énumé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
SI nNiveau=0 ET sOption<>"" ALORS
sRetour=MenuNom(sParent+"."+sOption,nNumOption,nNiveau+1)
FIN
TANTQUE sOption<>"" ET sRetour=""
// nom complet de l'option de menu
sNomComplet est une chaîne=sParent+"."+sOption
SI {sNomComplet}..Valeur=nNumOption ALORS
sRetour=sNomComplet
SINON
// remplit les options du niveau supérieur
sRetour=MenuNom(sParent+"."+sOption,nNumOption,nNiveau+1)
FIN
// option suivante
sOption=EnumèreSousElément(sParent)
FIN
RENVOYER sRetour
Exemple d'utilisation :
// copie la liste des options du menu dans le presse papier (pour excel)
i est un entier
ss,sm,sf sont des chaines
sf = FenEnExécution()
Sablier
POUR i=1 A 200
Jauge(i,200)
ss+=i+TAB+MenuNom(sf,i)+RC
FIN
Jauge
VersPressePapier(ss)
donne un résultat comme suit :
Citation :
1 Menu._Menu.Fichier
2 Menu._Menu.Fichier.Config
3 Menu._Menu.Fichier.Quitter
4 ...
|