4D v16.3

SET MENU BAR

Accueil

 
4D v16.3
SET MENU BAR

SET MENU BAR 


 

SET MENU BAR ( barre {; process}{; *} ) 
Paramètre Type   Description
barre  Entier long, Chaîne, RefMenu in Numéro ou nom de la barre de menus ou Référence de menu
process  Entier long in Numéro de référence du process
Opérateur in Conserver l'état de la barre de menus

La commande SET MENU BAR remplace la barre de menus courante par la barre de menus barre, pour le process en cours uniquement. Vous pouvez passer dans le paramètre barre soit le numéro soit le nom de la nouvelle barre. Vous pouvez également passer une référence unique de menu (type RefMenu, chaîne de 16 caractères). Lorsque vous travaillez avec des références, les menus peuvent être utilisés comme barres de menus et inversement (cf. section Gestion des menus).

Note : Le nom d’une barre de menus peut contenir jusqu’à 31 caractères et doit être unique.

Si vous passez le paramètre optionnel process, c'est la barre de menus du process spécifié qui sera remplacée par la barre.

Note : Si vous passez un paramètre RefMenu dans barre, le paramètre process est inutile et sera ignoré.

Le paramètre optionnel * vous permet de conserver l'état de la barre de menus. Si ce paramètre est omis, SET MENU BAR réinitialise la barre de menus lors de l'exécution de la commande.
Imaginez, par exemple, que l'instruction SET MENU BAR(1) soit exécutée. Ensuite, plusieurs commandes de menu sont désactivées à l'aide de la commande DISABLE MENU ITEM.
Si SET MENU BAR(1) est exécutée une seconde fois, soit à partir du même process, soit à partir d'un autre process, toutes les commandes de menu retournent à leur état d'activation initial.
Si SET MENU BAR(1;*) est exécutée, la barre de menus conservera son état précédent, les commandes de menu qui étaient inactivées le resteront.

Note : Si vous passez un paramètre RefMenu dans barre, le paramètre * est inutile et sera ignoré.

Lorsqu'un utilisateur arrive en mode Application, la première barre de menus s'affiche (Barre n° 1). Vous pouvez changer cette barre de menus par défaut en spécifiant la barre que vous voulez dans la On Startup database method, ou dans la méthode de démarrage associée à un utilisateur.

L'exemple suivant remplace la barre de menus courante par la barre de menus n° 3 et initialise l'état des commandes des menus :

 SET MENU BAR(3)

L'exemple suivant remplace la barre de menus courante par la barre de menus nommée “BarreForm1” et conserve l'état des commandes des menus : celles qui étaient précédemment inactivées apparaîtront inactivées :

 SET MENU BAR("BarreForm1";*)

L'exemple suivant remplace la barre de menus courante par la barre de menus n° 3 pendant que des enregistrements sont en cours de modification. Une fois les enregistrements modifiés, la barre de menus n° 2 est réaffichée. L'état des commandes de ce menu est conservé :

 SET MENU BAR(3) ` Définir la barre de menus n° 3 pour le formulaire suivant
 ALL RECORDS([Clients])
 MODIFY SELECTION([Clients]) ` Afficher la sélection
 SET MENU BAR(2;*) ` Après modification, retour à la barre de menus n° 2

Dans cet exemple complet, nous allons créer par programmation une barre comportant les menus Fichier et Edition suivants :

  `Méthode de création menu Fichier
 C_TEXT(FileMenu` FileMenu contiendra la référence du menu Fichier
 FileMenu:=Create menu
 INSERT MENU ITEM(FileMenu;-1;Get indexed string(131;29)+" Ma Base de Données(")
 SET MENU ITEM MARK(FileMenu;1;Char(18))
 INSERT MENU ITEM(FileMenu;-1;"(-")
 INSERT MENU ITEM(FileMenu;-1;"Quitter le mode Test Application/Y")
 SET MENU ITEM PROPERTY(FileMenu;3;Associated standard action;Return to Design mode)
 INSERT MENU ITEM(FileMenu;-1;"(-")
 INSERT MENU ITEM(FileMenu;-1;Get indexed string(131;26))
 SET MENU ITEM PROPERTY(FileMenu;6;Associated standard action;Database settings action`Preferences
 INSERT MENU ITEM(FileMenu;-1;"(-")
 INSERT MENU ITEM(FileMenu;-1;Get indexed string(131;30))
 SET MENU ITEM PROPERTY(FileMenu;7;Associated standard action;Quit action`Quitter
 SET MENU ITEM SHORTCUT(FileMenu;7;Character code("Q"))
 
  `Méthode de création menu Chercher et Remplacer
 C_TEXT(FindAndReplaceMenu`FindAndReplaceMenu contiendra la référence du menu Chercher remplacer
 FindAndReplaceMenu:=Create menu
 APPEND MENU ITEM(FindAndReplaceMenu;"Chercher;Chercher Suivant;Chercher Précédent;(-;Remplacer;Remplacer suivant;Remplacer précédent")
 SET MENU ITEM SHORTCUT(FindAndReplaceMenu;1;Character code("F"))
 SET MENU ITEM SHORTCUT(FindAndReplaceMenu;5;Character code("R"))
 SET MENU ITEM METHOD(FindAndReplaceMenu;1;"MaMethodechercher")
 
  `Méthode de création menu Edition
 C_TEXT(EditMenu`EditMenu contiendra la référence du menu Edition
 EditMenu:=Create menu
 APPEND MENU ITEM(EditMenu;"Couper;Copier;Coller")
 SET MENU ITEM SHORTCUT(EditMenu;1;Character code("X"))
 SET MENU ITEM PROPERTY(EditMenu;1;Associated standard action;Cut action)
 SET MENU ITEM SHORTCUT(EditMenu;2;Character code("C"))
 SET MENU ITEM PROPERTY(EditMenu;2;Associated standard action;Copy action)
 SET MENU ITEM SHORTCUT(EditMenu;3;Character code("V"))
 SET MENU ITEM PROPERTY(EditMenu;3;Associated standard action;Paste action)
 INSERT MENU ITEM(EditMenu;-1;"(-")
 INSERT MENU ITEM(EditMenu;-1;"Chercher et Remplacer";FindAndReplaceMenu` ligne qui aura le sous menu
 
 main_Bar:=Create menu ` Cree la barre constituée des autres menus
 INSERT MENU ITEM(main_Bar;-1;Get indexed string(79;1);FileMenu)
 APPEND MENU ITEM(main_Bar;"Edition";EditMenu)
 
 SET MENU BAR(main_Bar)



Voir aussi  

Gestion des menus

 
PROPRIÉTÉS 

Produit : 4D
Thème : Menus
Numéro : 67

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)