Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20.6
Pop up menu dynamique

Pop up menu dynamique 


 

Pop up menu dynamique ( menu {; parDéfaut {; coordX ; coordY}} ) -> Résultat 
Paramètre Type   Description
menu  RefMenu in Référence de menu
parDéfaut  Chaîne in Paramètre de l'élément sélectionné par défaut
coordX  Entier long in Coordonnée X du coin supérieur gauche
coordY  Entier long in Coordonnée Y du coin supérieur gauche
Résultat  Chaîne in Paramètre de l'élément de menu sélectionné

La commande Pop up menu dynamique fait apparaître un pop up menu hiérarchique à l’emplacement courant de la souris ou à l’emplacement défini par les paramètres facultatifs coordX et coordY.
Le menu hiérarchique utilisé doit avoir été créé à l’aide de la commande Creer menu. La référence retournée par Creer menu doit être passée dans le paramètre menu.

Note : La commande Pop up menu (thème “Interface utilisateur”) permet de créer des pop up menus basés sur du texte.

Conformément aux règles standard d’interface, cette commande doit généralement être appelée en réponse à un clic droit, ou lorsque le bouton reste enfoncé un certain laps de temps (menu contextuel par exemple).

Le paramètre facultatif parDéfaut vous permet de définir un élément du pop up menu sélectionné par défaut lorsque celui-ci apparaît. Passez dans ce paramètre la chaîne personnalisée associée à l’élément de menu. Cette chaîne doit avoir été préalablement définie à l’aide de la commande FIXER PARAMETRE LIGNE MENU. Si vous ne passez pas ce paramètre, le premier élément du menu sera sélectionné par défaut.

Note : Seul une ligne de menu de premier niveau peut être sélectionnée par défaut.

Les paramètres facultatifs coordX et coordY permettent de désigner l’emplacement du pop up menu à afficher. Passez respectivement dans coordX et coordY les coordonnées horizontale et verticale du coin supérieur gauche du menu. Ces coordonnées doivent être exprimées en pixels dans le système de coordonnées local au formulaire courant. Ces deux paramètres doivent être passés ensemble ; si un seul est passé, il est ignoré.

Si vous souhaitez afficher un pop up associé à un bouton 3D, il suffit de ne pas passer les paramètres facultatifs coordX et coordY. Dans ce cas, 4D calcule automatiquement l’emplacement du menu par rapport au bouton en fonction des normes d’interface de la plate-forme courante (le bouton 3D doit disposer de la propriété "Avec pop-up menu/Lié" ou "Avec pop-up menu/Séparé").

Si une ligne de menu a été sélectionnée, la commande retourne sa chaîne de caractères personnalisée associée (telle que définie à l’aide de la commande FIXER PARAMETRE LIGNE MENU). Sinon, la commande retourne une chaîne vide.

A partir de 4D v16 R3 : si une action standard est associée à une ligne de menu, elle est prise en compte par la commande Pop up menu dynamique à différents niveaux :

  • Si une action standard n'est pas activée (c'est-à-dire ne peut pas être appelée) dans le contexte du pop-up menu, le libellé est automatiquement caché. Vous pouvez savoir si une action est disponible en utilisant la commande Lire info action.
  • Les propriétés liées à une action associée sont automatiquement "checked", "unchecked" ou "mixed" selon la sélection.
  • Si le titre de l'action de la ligne de menu a été défini en utilisant la constante ak standard action title, le nom localisé est affiché dans le menu.
  • Lorsque la ligne de menu est sélectionnée, l'action standard associée est appelée (l'exécution est asynchrone).

Exemple  

Ce code permet de créer un pop up menu dynamique hiérarchique, construit sur les actions standard :

 C_TEXTE($refMainContextMenu;$refMenuEdit)
 $refMainContextMenu:=Créer menu
 AJOUTER LIGNE MENU($refMainContextMenu;"-")
 AJOUTER LIGNE MENU($refMainContextMenu;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMainContextMenu;-1;Action standard associée;ak select all)
 AJOUTER LIGNE MENU($refMainContextMenu;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMainContextMenu;-1;Action standard associée;ak clear)
 AJOUTER LIGNE MENU($refMainContextMenu;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMainContextMenu;-1;Action standard associée;ak copy)
 AJOUTER LIGNE MENU($refMainContextMenu;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMainContextMenu;-1;Action standard associée;ak cut)
 AJOUTER LIGNE MENU($refMainContextMenu;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMainContextMenu;-1;Action standard associée;ak paste)
 AJOUTER LIGNE MENU($refMainContextMenu;"-")
   //Sous-menu Edition
 $refMenuEdit:=Créer menu
 AJOUTER LIGNE MENU($refMenuEdit;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMenuEdit;-1;Action standard associée;ak font bold)
 FIXER RACCOURCI LIGNE MENU($refMenuEdit;-1;Code de caractère("B"))
 AJOUTER LIGNE MENU($refMenuEdit;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMenuEdit;-1;Action standard associée;ak font italic)
 FIXER RACCOURCI LIGNE MENU($refMenuEdit;-1;Code de caractère("I"))
 AJOUTER LIGNE MENU($refMenuEdit;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMenuEdit;-1;Action standard associée;ak font linethrough)
 FIXER RACCOURCI LIGNE MENU($refMenuEdit;-1;Code de caractère("L"))
 AJOUTER LIGNE MENU($refMenuEdit;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMenuEdit;-1;Action standard associée;ak font underline)
 FIXER RACCOURCI LIGNE MENU($refMenuEdit;-1;Code de caractère("U"))
 AJOUTER LIGNE MENU($refMenuEdit;ak standard action title)
 FIXER PROPRIETE LIGNE MENU($refMenuEdit;-1;Action standard associée;ak font show dialog)
 AJOUTER LIGNE MENU($refMainContextMenu;"Edition";$refMenuEdit)
 
 paramRef:=Pop up menu dynamique($refMainContextMenu)



Voir aussi  

FIXER PARAMETRE LIGNE MENU
FIXER PROPRIETE LIGNE MENU
Lire parametre ligne menu
Lire parametre ligne menu selectionnee
Pop up menu

 
PROPRIÉTÉS 

Produit : 4D
Thème : Menus
Numéro : 1006
Nom intl. : Dynamic pop up menu

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v11 SQL
Modifié : 4D v16 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)