|
|
|
|
|
- Présentation
- Trucs et astuces
- Remplacer le libellé d'une option de menu par le contenu d'un champ
- Ajouter de l'aide sur une option de menu
- Personnaliser l'apparence d'un menu
- Rendre invisible le menu principal d'une fenêtre
- Exécuter du code avant d'afficher le menu contextuel
- Afficher un menu contextuel grâce à un clic gauche
- Dissocier un menu contextuel d'un champ ou d'une fenêtre
- Récupérer le numéro de la ligne et de la colonne d'un champ Table sur lesquelles un clic droit est réalisé
- Changer le menu contextuel en fonction de l'élément sélectionné dans un champ Arbre
Menus et options de menu : Trucs & Astuces
Nous vous présentons ici quelques manipulations spécifiques aux menus et aux options de menu : Remarques : - Pour plus de détails sur les menus et sur les options de menu, consultez :
- Tous ces "Trucs & Astuces" sont utilisables avec les menus principaux et les menus contextuels sauf mention contraire.
Remplacer le libellé d'une option de menu par le contenu d'un champ Il suffit de : - récupérer le contenu du champ.
- modifier le libellé de l'option de menu avec la propriété Libellé ou avec la fonction MenuLibellé.
Exemples : - Le libellé de l'option de menu "MonOption" doit correspondre à la valeur saisie dans le champ "MonChamp".
MonOption.Libellé = MonChamp // Équivalent à : MenuLibellé(MonOption, MonChamp) - Le libellé de l'option de menu "MonOption" doit correspondre au contenu de la cellule appartenant à la colonne "COL_MaColonne" et à la ligne sélectionnée par l'utilisateur dans le champ Table "TABLE_MaTable" :
MonOption.Libellé = COL_MaColonne[TableSelect(TABLE_MaTable)] // Équivalent à : // MenuLibellé(MonOption, COL_MaColonne[TableSelect(TABLE_MaTable)])
Ajouter de l'aide sur une option de menu Pour détailler la fonctionnalité de chaque option de menu, il est possible d'afficher un message d'aide dans la barre de message de la fenêtre lorsqu'une option est mise en surbrillance. Comment faire ?La saisie de ce message d'aide s'effectue dans l'onglet "Aide" de la fenêtre de description des options de menu (option "Description de l'option" du menu contextuel). Ce message d'aide peut être multilingue. Remarque : Ce message d'aide peut être modifié par programmation grâce à la fonction Message ou grâce à la propriété Message. Personnaliser l'apparence d'un menu Pour personnaliser l'apparence d'un menu, il suffit de personnaliser le style d'une option de ce menu. Ces modifications seront automatiquement reportées sur toutes les options du menu. Il est possible de personnaliser : - la couleur de fond d'un menu.
- la police (taille, couleur, ...) des options d'un menu.
- la couleur de fond de l'option survolée.
- la police (taille, couleur, ...) de l'option survolée.
Pour personnaliser l'apparence d'un menu : - Sélectionnez une option de menu.
- Affichez l'onglet "Style" de la fenêtre de description des options de menu (option "Description de l'option" du menu contextuel).
- Pour personnaliser :
- la couleur de fond du menu : sélectionnez "Fond de l'option" dans la combo "Élément" et sélectionnez la couleur de fond de l'option.
- la police des options du menu : sélectionnez "Texte de l'option" dans la combo "Élément" et sélectionnez les caractéristiques de la police (attributs, taille, couleur, ...)
- la couleur de fond de l'option survolée : sélectionnez "Fond de l'option (survol)" dans la combo "Élément" et sélectionnez la couleur de fond de l'option survolée.
Remarque : La couleur de fond ou la couleur du texte peut être : - soit une couleur prédéfinie. Sélectionnez cette couleur parmi celles proposées dans la combo "Couleur".
- soit une couleur personnalisée. Définissez cette couleur à l'aide du sélecteur de couleurs (bouton "..." à droite de la combo "Couleur").
Cas particulier : Menu au look XPSeules les caractéristiques de la police des options de menu seront prises en compte si le menu utilise le look XP. Pour plus de détails, consultez Utilisez le look XP dans vos fenêtres. Rendre invisible le menu principal d'une fenêtre Pour rendre invisible le menu principal d'une fenêtre, il suffit de rendre invisible toutes les options "principales" du menu. Exemple : Les options "principales" du menu suivant sont "Fichiers" et "Impressions".
Pour rendre invisible ce menu principal, saisissez le code suivant :
// Rendre invisibles les options "Fichiers" et "Impressions" Fichiers.Visible = Faux Impressions.Visible = Faux // Équivalent à : // MenuInvisible(Fichiers) // MenuInvisible(Impressions) Exécuter du code avant d'afficher le menu contextuel Pour exécuter du code avant d'afficher le menu contextuel, il suffit d'ajouter l'événement optionnel "Affichage menu contextuel" dans le code de l'élément (champ ou fenêtre) associé au menu contextuel. Comment le faire ? - Affichez le code de l'élément (champ ou fenêtre) associé au menu contextuel (option "Code" du menu contextuel de l'élément).
- Cliquez sur le lien "Ajouter d'autres événements à xxx" situé à la fin de la fenêtre de code, après le dernier événement.
- Dans la liste des événements optionnels, sélectionnez l'événement "Affichage menu contextuel" et validez.
- Saisissez dans cet événement optionnel le code à exécuter avant l'affichage du menu contextuel.
Afficher un menu contextuel grâce à un clic gauche Pour afficher un menu contextuel grâce à un clic gauche, il suffit de simuler l'action d'un clic droit dans l'événement optionnel "Bouton gauche enfoncé" d'un élément (champ ou fenêtre). Pour que le menu contextuel s'affiche uniquement lors d'un clic gauche (et non lors d'un clic droit), l'élément (champ ou fenêtre) ne doit pas être associé par défaut à un menu contextuel. Exemple : Les opérations nécessaires à l'affichage d'un menu contextuel grâce à un clic gauche sont illustrées par l'exemple suivant : Le menu contextuel "MonMenu" s'affiche uniquement lors d'un clic gauche sur le champ de saisie "SAI_MonChamp". - Affichez le code du champ "SAI_MonChamp" (option "Code" du menu contextuel du champ).
- Cliquez sur le lien "Ajouter d'autres événements à xxx" situé à la fin de la fenêtre de code, après le dernier événement.Dans la liste des événements optionnels, sélectionnez l'événement "Bouton gauche enfoncé" et validez.
- Dans cet événement optionnel, saisissez le code suivant :
// Associer le menu contextuel au champ SAI_MonChamp.MenuContextuel = MonMenu // Simuler un clic droit sur le bouton pour appeler // le menu contextuel SendMessage(Handle(MoiMême), 516, 0, 0) SendMessage(Handle(MoiMême), 517, 0, 0) // Dissocier le menu contextuel du champ SAI_MonChamp.MenuContextuel = ""
Dissocier un menu contextuel d'un champ ou d'une fenêtre Pour dissocier un menu contextuel d'une champ ou d'une fenêtre, il suffit d'utiliser la propriété MenuContextuel en lui passant en paramètre une chaîne vide (""). Exemple
// Dissocier le menu contextuel du champ SAI_MonChamp.MenuContextuel = "" Remarque : Si un menu contextuel système est disponible, ce menu contextuel remplacera le menu contextuel personnalisé. Récupérer le numéro de la ligne et de la colonne d'un champ Table sur lesquelles un clic droit est réalisé Pour récupérer le numéro de la ligne et de la colonne d'un champ Table sélectionnées par un clic droit avant l'affichage du menu contextuel, utilisez la fonction TableInfoXY dans l'événement optionnel "Bouton droit enfoncé". Exemple : Les opérations nécessaires à la récupération du numéro de la ligne et de la colonne sélectionnées par un clic droit sont illustrées par l'exemple suivant : Le menu contextuel "MonMenu" est associé au champ Table "TABLE_MaTable". Ce menu permet de manipuler le contenu de la cellule à partir de laquelle le menu contextuel est ouvert. La cellule sélectionnée est colorée en bleu avant l'affichage du menu contextuel. - Affichez le code du champ "TABLE_MaTable" (option "Code" du menu contextuel du champ).
- Cliquez sur le lien "Ajouter d'autres événements à xxx" situé à la fin de la fenêtre de code, après le dernier événement.Dans la liste des événements optionnels, sélectionnez l'événement "Bouton droit enfoncé" et validez.
- Dans cet événement optionnel, saisissez le code suivant :
// Récupérer la ligne et la colonne sélectionnées par un clic droit NumLigneSelect est un entier NumColSelect est un entier NumLigneSelect = TableInfoXY(MoiMême, tiNumLigne, SourisPosX(), SourisPosY()) NumColSelect = TableInfoXY(MoiMême, tiNumColonne, SourisPosX(), SourisPosY()) // Modifier la couleur de la cellule sélectionnée TABLE_MaTable[NumLigneSelect][NumColSelect].CouleurFond = BleuClair
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|