|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
ajouter une option a un menu contextuel |
Iniciado por raimbourg jerome, ago., 02 2005 1:06 PM - 3 respostas |
| |
| | | |
|
| |
Publicado em agosto, 02 2005 - 1:06 PM |
J'ai bien vu qu'il y avait déjà un post à ce sujet mais je voudrai savoir si quelqu'un avait trouvé une solution.
Le but de la manoeuvre est de rajouter en programmation un nombre d'option (inconnu d'avance) à un menu contextuel |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 02 2005 - 3:36 PM |
salut,
trouvé dans l'aide en ligne ....
WinDev permet de manipuler les menus contextuels personnalisés par programmation :
Propriété MenuContextuel Permet de connaître et de changer le menu contextuel personnalisé associé à un champ ou à une fenêtre. Permet également : - d'associer ou non un champ à un menu contextuel. - d'afficher ou non le menu contextuel système par défaut. Fonction ChampContextuel Identifie le champ sur lequel un menu contextuel personnalisé a été ouvert (à utiliser dans le code du menu contextuel personnalisé). Fonction OuvreMenuContextuel Permet d'ouvrir automatiquement le menu contextuel d'un champ ou d'une fenêtre. Il est possible de choisir le menu contextuel à ouvrir et sa position. La manipulation d'une option de menu est identique que le menu soit un menu contextuel ou un menu principal.
Pour manipuler par programmation une option de menu, utilisez la notation :
"<NomOption>" si l'option de menu est manipulée depuis la fenêtre.
"<NomFenêtre>.<NomMenu>.<NomOption>" si l'option est manipulée depuis une autre fenêtre.
Remarque : il est également possible de manipuler les menus contextuels par programmation (et non uniquement ses options). Pour plus de détails, consultez Gestion des menus contextuels .
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Fonctions du W-Langage
WinDev propose plusieurs fonctions du W-Langage spécifiques aux options de menu :
Marquage d'une option de menu MenuDémarque Enlève la marque devant l'option de menu MenuMarquage Permet de savoir si la marque est présente devant l'option de menu MenuMarque Positionne la marque devant l'option de menu +++++++++++++++++++++++++++++++++++++++++++++++++ Etat d'une option de menu MenuEtat Identifie l'état d'une option de menu : active, inactive ou invisible MenuInvisible Rend une option de menu invisible MenuSelectMoins Désactive (grise) une option de menu MenuSelectPlus Active une option de menu Libellé d'une option de menu MenuLibellé Identifie ou modifie le libellé d'une option de menu +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ EnumèreMenu : Renvoie le nom de la nième option de menu +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Propriétés du W-Langage WinDev propose plusieurs propriétés du W-Langage spécifiques aux options de menu :
Cochée : Permet de gérer une marque devant l'option de menu. Etat : Permet de connaître et de modifier l'état d'affichage (actif, inactif ou grisé) d'une option de menu Groupe : Permet de savoir si l'option de menu appartient ou non à un groupe de champs Image : Permet de connaître et de modifier l'image d'une option de menu Libellé : Permet de connaître et de modifier le libellé d'une option de menu Message : Permet de connaître et de modifier le message d'aide d'une option de menu Nom : Permet de connaître le nom d'une option de menu Type : Permet de savoir si l'élément manipulé est une option de menu Valeur : Permet de connaître et de modifier le numéro associé à une option de menu Visible : Permet de savoir si une option de menu est visible et de rendre visible / invisible une option de menu
J'espere qu'avec toutes ces infos tu pourras te debrouiller a modifier ton menu contextuel
cordialement
Greg |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 03 2005 - 10:20 AM |
Bonjour,
Malheureusement, rien qui ne permet d'ajouter des menus par programmation.... |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 03 2005 - 1:37 PM |
avec un peu de ruse...
solution 1 tu peux passer par les API windows , ça fonctionne super mais n'étant pas un expert j'ai pas encore donné un lock sympa a ces menu, sous menu ...
solution 2 pas super propre mais facile et ça marche
1/ créer un menu contextuel avec une option
2/ ajout d'une option dans un menu ou autre menu contextuel de la même fenêtre
2.1 Modifier le libellé de l'option dans le menu contextuel source
MenuLibellé(Mafenetre,monMenu.monOption,"NouveauLibellé)
2.2 Ajouter l'option dans le menu cible
MenuAjoute(monMenuCible,monOption,maPosition)
bon là on a ajouter l'option mais toutes les options ajoutées font le même code il faut donc gérer un tableau dynamique qui fait le lien entre le libellé inséré et une fonction à exécuter.
code déclaration globale de la fenêtre :
monTableau est un tableau dynamique de 0,2 chaines
à chaque ajout d'une option
liIndiceMenu est un entier = tableauinfo(monTableau,tiNombreLigne)+1 dimension(monTableau,liIndiceMenu,2)
monTableau[liIndiceMenu,1] = "NouveauLibellé" monTableau[liIndiceMenu,2] = "nomFonctionAssociée"
code de l'option de menu
liIndice est un entier = tableauCherche(monTableau,tcLinéaire,1,Moimeme..Libellé)
si liIndice<>-1 alors executetraitement(monTableau[liIndice,2],trtProcedure) sinon erreur("aucune procédure associée à ce choix !") fin
ps : on peut aussi gérer propriété valeur renvoyée par MonOption..Valeur plutôt que le libellé mais il faut récupérer la valeur après l'insert dans le menu ce qui demande un peut plus de code, mais qui permet de modifier le libellé après l'insert... question de besoin
on espère aussi un jour pouvoir récupérer autre chose que 0 quand on fait Handle() sur un menu ou une option ou benéficier d'un ChampClone() sur les menu et option ce qui permettrait de les nommer.
bon dev
patrice |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|