<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>5 Apr 2019 05:03:48 Z</lastBuildDate><pubDate>5 Mar 2019 17:34:43 Z</pubDate><description>Bonjour,&#13;
&#13;
Y a-t-il un moyen permettant de récupérer la largeur et la hauteur d'un menu contextuel (généré par nos soins)?&#13;
&#13;
A priori, ces propriétés n'existent pas sur un MenuContextuel.&#13;
&#13;
Si cela n'existe pas, peut-être aurez-vous une autre solution pour faire ce que je souhaite.&#13;
&#13;
En gros, je veux faire une procédure qui positionne un menu conextuel en bas à gauche d'un bouton par exemple.&#13;
Cela fonctionne bien mais j'aimerai traiter les cas où le menu viendrait à être affiché hors écran et pour cela j'ai besoin des dimensions de mon menu contextuel.&#13;
&#13;
Voici le code:&#13;
[code:wl]&#13;
PROCEDURE OuvreMenuContextuel_Positionnee(sMenuContextuel est une chaîne,sBoutonParent_Menu est une chaîne)&#13;
sNomMenu			est une chaîne&#13;
sNomBouton			est une chaîne&#13;
&#13;
nMenu_X				est un entier&#13;
nMenu_Y				est un entier&#13;
nMenu_Largeur		est un entier&#13;
nMenu_Hauteur		est un entier&#13;
&#13;
nBouton_X			est un entier&#13;
nBouton_Y			est un entier&#13;
nBouton_Largeur		est un entier&#13;
nBouton_Hauteur		est un entier&#13;
&#13;
sResolutionEcran	est une chaîne&#13;
nResolution_Largeur	est un entier&#13;
nResolution_Hauteur	est un entier&#13;
&#13;
sNomMenu	=sMenuContextuel&#13;
sNomBouton	=sBoutonParent_Menu&#13;
&#13;
SI sNomMenu&lt;&gt;"" ALORS&#13;
	SI sNomBouton="" ALORS&#13;
		OuvreMenuContextuel(sNomMenu)&#13;
	SINON&#13;
		sResolutionEcran	=SysRésolutionEcran()&#13;
		nResolution_Largeur	=ExtraitChaîne(sResolutionEcran,1)&#13;
		nResolution_Hauteur	=ExtraitChaîne(sResolutionEcran,2)&#13;
		&#13;
		nBouton_X			={sNomBouton,indChamp}..X&#13;
		nBouton_Y			={sNomBouton,indChamp}..Y&#13;
		nBouton_Largeur		={sNomBouton,indChamp}..Largeur&#13;
		nBouton_Hauteur		={sNomBouton,indChamp}..Hauteur&#13;
		&#13;
		nMenu_Largeur		={sNomMenu,indChamp}..Largeur	//Génère une erreur: La propriété n'existe pas sur un Menu&#13;
		nMenu_Hauteur		={sNomMenu,indChamp}..Hauteur	//Génère une erreur: La propriété n'existe pas sur un Menu&#13;
		&#13;
		//Par défaut, on positionne le menu en bas à gauche du bouton d'appel&#13;
		nMenu_X				=nBouton_X&#13;
		nMenu_Y				=nBouton_Y+nBouton_Hauteur&#13;
		&#13;
		//On contrôle que l'on ne va pas sortir de l'écran, sinon on re-positionne le bouton en conséquence&#13;
		SI nMenu_X+nMenu_Largeur&gt;nResolution_Largeur ALORS&#13;
			nMenu_X=nBouton_X-nMenu_Largeur&#13;
		FIN&#13;
		SI nMenu_Y+nMenu_Hauteur&gt;nResolution_Hauteur ALORS&#13;
			nMenu_Y=nBouton_Y-nMenu_Hauteur&#13;
		FIN&#13;
		&#13;
		OuvreMenuContextuel(sNomMenu,nMenu_X,nMenu_Y)&#13;
	FIN&#13;
FIN&#13;
[/code]&#13;
&#13;
--&#13;
&#13;
NR</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/224457-menucontextuel-comment-determiner-largeur/read.awp</link><title>MenuContextuel: Comment déterminer sa largeur?</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster></channel></rss>
