4D v16.3

FIXER BARRE MENUS

Accueil

 
4D v16.3
FIXER BARRE MENUS

FIXER BARRE MENUS 


 

FIXER BARRE MENUS ( 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 FIXER BARRE MENUS 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, FIXER BARRE MENUS réinitialise la barre de menus lors de l'exécution de la commande.
Imaginez, par exemple, que l'instruction FIXER BARRE MENUS(1) soit exécutée. Ensuite, plusieurs commandes de menu sont désactivées à l'aide de la commande INACTIVER LIGNE MENU.
Si FIXER BARRE MENUS(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 FIXER BARRE MENUS(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 Méthode base Sur ouverture, 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 :

 FIXER BARRE MENUS(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 :

 FIXER BARRE MENUS("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é :

 FIXER BARRE MENUS(3) ` Définir la barre de menus n° 3 pour le formulaire suivant
 TOUT SELECTIONNER([Clients])
 MODIFIER SELECTION([Clients]) ` Afficher la sélection
 FIXER BARRE MENUS(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_TEXTE(FileMenu` FileMenu contiendra la référence du menu Fichier
 FileMenu:=Creer menu
 INSERER LIGNE MENU(FileMenu;-1;Lire chaine dans liste(131;29)+" Ma Base de Données(")
 FIXER MARQUE LIGNE MENU(FileMenu;1;Caractere(18))
 INSERER LIGNE MENU(FileMenu;-1;"(-")
 INSERER LIGNE MENU(FileMenu;-1;"Quitter le mode Test Application/Y")
 FIXER PROPRIETE LIGNE MENU(FileMenu;3;Action standard associée;Retour au mode Développement)
 INSERER LIGNE MENU(FileMenu;-1;"(-")
 INSERER LIGNE MENU(FileMenu;-1;Lire chaine dans liste(131;26))
 FIXER PROPRIETE LIGNE MENU(FileMenu;6;Action standard associée;Action propriétés de la base`Preferences
 INSERER LIGNE MENU(FileMenu;-1;"(-")
 INSERER LIGNE MENU(FileMenu;-1;Lire chaine dans liste(131;30))
 FIXER PROPRIETE LIGNE MENU(FileMenu;7;Action standard associée;Action quitter`Quitter
 FIXER RACCOURCI LIGNE MENU(FileMenu;7;Code de caractere("Q"))
 
  `Méthode de création menu Chercher et Remplacer
 C_TEXTE(FindAndReplaceMenu`FindAndReplaceMenu contiendra la référence du menu Chercher remplacer
 FindAndReplaceMenu:=Creer menu
 AJOUTER LIGNE MENU(FindAndReplaceMenu;"Chercher;Chercher Suivant;Chercher Précédent;(-;Remplacer;Remplacer suivant;Remplacer précédent")
 FIXER RACCOURCI LIGNE MENU(FindAndReplaceMenu;1;Code de caractere("F"))
 FIXER RACCOURCI LIGNE MENU(FindAndReplaceMenu;5;Code de caractere("R"))
 FIXER METHODE LIGNE MENU(FindAndReplaceMenu;1;"MaMethodechercher")
 
  `Méthode de création menu Edition
 C_TEXTE(EditMenu`EditMenu contiendra la référence du menu Edition
 EditMenu:=Creer menu
 AJOUTER LIGNE MENU(EditMenu;"Couper;Copier;Coller")
 FIXER RACCOURCI LIGNE MENU(EditMenu;1;Code de caractere("X"))
 FIXER PROPRIETE LIGNE MENU(EditMenu;1;Action standard associée;Action couper)
 FIXER RACCOURCI LIGNE MENU(EditMenu;2;Code de caractere("C"))
 FIXER PROPRIETE LIGNE MENU(EditMenu;2;Action standard associée;Action copier)
 FIXER RACCOURCI LIGNE MENU(EditMenu;3;Code de caractere("V"))
 FIXER PROPRIETE LIGNE MENU(EditMenu;3;Action standard associée;Action coller)
 INSERER LIGNE MENU(EditMenu;-1;"(-")
 INSERER LIGNE MENU(EditMenu;-1;"Chercher et Remplacer";FindAndReplaceMenu` ligne qui aura le sous menu
 
 main_Bar:=Creer menu ` Cree la barre constituée des autres menus
 INSERER LIGNE MENU(main_Bar;-1;Lire chaine dans liste(79;1);FileMenu)
 AJOUTER LIGNE MENU(main_Bar;"Edition";EditMenu)
 
 FIXER BARRE MENUS(main_Bar)



Voir aussi  

Gestion des menus

 
PROPRIÉTÉS 

Produit : 4D
Thème : Menus
Numéro : 67
Nom intl. : SET MENU BAR

 
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)