Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
OBJET FIXER MESSAGE AIDE
|
OBJET FIXER MESSAGE AIDE ( {* ;} objet ; messageAide ) | ||||||||
Paramètre | Type | Description | ||||||
* | Opérateur |
![]() |
Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est une variable ou un champ |
|||||
objet | Objet de formulaire |
![]() |
Nom d'objet (si * est spécifié) ou Variable (si * est omis) | |||||
messageAide | Texte |
![]() |
Contenu du message d’aide | |||||
La commande OBJET FIXER MESSAGE AIDE permet de définir ou de modifier dynamiquement le message d’aide associé à l’objet ou aux objets désigné(s) par les paramètres objet et * pour le process courant.
Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet de formulaire (une chaîne). Si vous ne passez pas ce paramètre, vous indiquez que le paramètre objet est une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de variable.
Passez dans le paramètre messageAide une chaîne de caractères contenant le message à afficher. Si vous passez une chaîne vide "", l'infobulle est supprimée.
Lorsque le formulaire est exécuté, les messages d'aide apparaissent sous forme d'infobulle à chaque fois que le curseur de la souris survole le champ ou l'objet. Le délai d'affichage et la durée maximum d'affichage des messages d'aide peuvent être contrôlés en utilisant les sélecteurs Messages aide délai et Messages aide durée de la commande FIXER PARAMETRE BASE.
Note : Vous pouvez utiliser cette commande avec une list box afin d'associer des infobulles aux lignes et cellules de la list box. Par exemple, un objet list box peut comporter une infobulle différente par ligne. Ce cas nécessite de déterminer au préalable la position du curseur à l'aide de la commande LISTBOX LIRE POSITION CELLULE. Ce principe est présenté dans un exemple ci-dessous.
Lorsqu'un message d'aide est déjà affiché, l'utilisation de la commande OBJET FIXER MESSAGE AIDE le ferme, ouvre un nouveau message d'aide à l'endroit où se trouve la souris et redémarre le compteur Messages aide durée, permettant une gestion dynamique des messages d'aide.
Notes :
Dans ce formulaire, un message d'aide est affiché et change dynamiquement lorsque la souris survole des zones différentes du bouton-image :
//Méthode objet du bouton-image nommé "myFlag"
C_REEL($x;$y;oldX;oldY)
C_REEL($left;$right;$top;$bottom)
C_ENTIER LONG($b)
C_TEXTE($tip)
C_TEXTE(oldTip)
C_BOOLEEN($doRefresh)
Au cas ou
:(Evenement formulaire=Sur chargement)
oldTip:=""
FIXER PARAMETRE BASE(Message aide activation;1) //Pour être sûr que les messages d'aide sont activés
FIXER PARAMETRE BASE(Message aide délai;0) // Le message est affiché dès que la souris s'arrête
FIXER PARAMETRE BASE(Message aide durée;60*10) // Affichage de 10 secondes
:(Evenement formulaire=Sur survol)
POSITION SOURIS($x;$y;$b)
OBJET LIRE COORDONNEES(*;"myFlag";$left;$top;$right;$bottom)
$x:=$x-$left
$y:=$y-$top
Au cas ou //chaque zone du drapeau fait 76 pixels
:($x<76)
$tip:="Couleur verte"
:($x<152)
$tip:="Couleur blanche"
sinon
$tip:="Couleur rouge"
Fin de cas
$doRefresh:=($tip#oldtip) //Vrai si le message d'aide est différent
Si(Non($doRefresh)) //contenus identiques
$doRefresh:=((Abs($x-oldX)>30)|(Abs($y-oldY)>30)) //Vrai si le curseur a bougé
Fin de si
Si($doRefresh) //Affiche un autre message
OBJET FIXER MESSAGE AIDE(*;"myFlag";$tip)
oldX:=$x
oldY:=$y
oldTip:=$tip
Fin de si
Fin de cas
Vous avez défini une list box "liste de commandes" et vous souhaitez proposer des infobulles affichant la description de chaque élément de la liste. La description se trouve dans la table [Documentation].
C_REEL($mouseX;$mouseY;$mouseZ)
C_ENTIER LONG($col;$row)
Au cas ou
:(Evenement formulaire=Sur début survol)
FIXER PARAMETRE BASE(Messages aide délai;1) // l'infobulle doit s'afficher rapidement
:(Evenement formulaire=Sur survol)
//#1 : trouver quelle ligne est survolée
POSITION SOURIS($mouseX;$mouseY;$mouseZ)
LISTBOX LIRE POSITION CELLULE(*;"Commands List";$mouseX;$mouseY;$col;$row)
//#2 : définir l'infobulle à afficher
Si($row#0)
ALLER DANS SELECTION([Documentation];$row)
OBJET FIXER MESSAGE AIDE(*;"Commands List";[Documentation]Description) // la description complète sera utilisée comme message d'aide lorsque (si) la souris est immobile
Fin de si
:(Evenement formulaire=Sur fin survol)
FIXER PARAMETRE BASE(Messages aide délai;3) //Retour délai normal
Fin de cas
Résultat :
Produit : 4D
Thème : Objets (Formulaires)
Numéro :
1181
Nom intl. : OBJECT SET HELP TIP
Créé : 4D v13
Modifié : 4D v16 R4
Modifié : 4D v16 R5
4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)