version 1
ch_APPELER SUR MENU (zone; méthode)
| Paramètre | Type | Description | |
| zone | Entier long | Zone 4D Chart | |
| méthode | Alpha | Nom de la méthode à appeler |
Description
La commande ch_APPELER SUR MENU exécute méthode chaque fois qu'une commande de menu est activée, en mode Utilisation ou Menus créés. La commande de menu peut aussi être appelée à l'aide de la routine ch_EXECUTER MENU, à condition que la commande de menu soit appelée dans méthode.
La méthode appelée renvoie trois paramètres :
| $1 | Entier long | contenant l'identifiant de la zone 4D Chart |
| $2 | Entier long | contenant le numéro de la commande de menu |
| $3 | Entier long | contenant le numéro de la touche de modification actionnée |
Le paramètre $3 correspond à l'une des touches (ou combinaison de touches) de modification suivantes :
| 0 | Pas de modification |
| 1 | Touche Ctrl (Windows) ou Commande (MacOS) |
| 2 | Touche Majuscule |
| 4 | Touche Alt (Windows) ou Option (MacOS) |
| 8 | Touche Contrôle |
Si vous actionnez une combinaison de touches de modification, leurs valeurs s'ajoutent et constituent un seul paramètre. Par exemple, la valeur 10 indique que vous avez appuyé sur les touches Majuscule et Contrôle tout en choisissant une commande de menu.
Si vous envisagez de compiler votre base de données, déclarez ainsi les types de ces paramètres :
C_ENTIER LONG ($1;$2;$3)
Exemple
L'exemple suivant lance la méthode d'événement MenuMeth.
ch_APPELER SUR MENU (Zone;"MenuMeth")
La méthode MenuMeth contrôle l'accès de l'utilisateur aux commandes de menu. Si la commande de menu Enregistrer comme modèle ou Propriétés est sélectionnée, une boîte de dialogue est présentée à l'utilisateur et la sélection du menu est ignorée. Toutes les autres commandes de menus s'exécutent sans interruption. Voici le code de la méthode MenuMeth :
C_ENTIER LONG($1;$2;$3)
Au cas ou
: ($2=1006) `Enregistrer comme modèle
ALERTE("Vous ne pouvez pas sauvegarder des modèles !")
: ($2=2011) `Propriétés
ALERTE("Vous n'avez pas accès à Propriétés !")
Sinon
ch_EXECUTER MENU(vZone;$2)
Fin de cas
Référence