version 11 (Modifiée)
FIXER BARRE MENUS (barre{; process{; *}})
Paramètre | Type | Description | |
barre | Num | Alpha | RefMenu | Numéro ou nom de la barre de menus ou | |
Référence de menu | |||
process | Numérique | Numéro de référence du process | |
* | Conserver l'état de la barre de menus |
Description
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.
Exemples
(1) 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)
(2) 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";*)
(3) 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
(4) 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_ALPHA(16;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 préférences) `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_ALPHA(16;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_ALPHA(16; 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)
Référence