- Méthode 1 : Utilisation des événements WLangage associés au champ
- Méthode 2 : Utilisation de la fonction Evénement
Comment mettre en couleur un champ qui a le focus ?
Le curseur clavier ("carret") n'est pas toujours facile à repérer dans une fenêtre : il n'est pas évident de savoir dans quel champ on est en train de saisir. Comment mettre en évidence le champ qui est en cours de saisie ? Deux méthodes sont disponibles : Méthode 1 : Utilisation des événements WLangage associés au champ - Dans le code d'entrée du champ, changez la couleur de fond et/ou des caractères avec les propriétés CouleurFond et Couleur.
- Dans le code de sortie du champ, utilisez la couleur du style par défaut pour la couleur de fond et/ou des caractères avec les propriétés CouleurFond et Couleur en utilisant la constante CouleurDéfaut.
Exemple :
// -- Entrée dans le champ MoiMême.CouleurFond = BleuFoncé MoiMême.Couleur = Blanc
// Perte de focus MoiMême.CouleurFond = CouleurDéfaut MoiMême.Couleur = CouleurDéfaut
Inconvénient : Cette opération doit être effectuée sur chaque champ "manuellement". Cette méthode convient si très peu de champs doivent être modifiés. Méthode 2 : Utilisation de la fonction Evénement La fonction Evénement permet d'intercepter dans le projet ou dans chaque fenêtre à traiter les événements de Prise et Perte de focus. Chacun des événements doit être associé à une procédure WLangage afin de changer la couleur ou remettre la couleur d'origine. Exemple : - Code à saisir dans l'événement "Initialisation" du projet :
Evénement(ProcColorie, "*.*", 7) // 7 = WM_SETFOCUS Evénement(ProcDeColorie, "*.*", 8) // 8 = WM_KILLFOCUS
- Procédure globale WLangage appelée par la fonction Evénement (prise de focus) :
PROCÉDURE ProcColorie {_EVE.nom, indChamp}..CouleurFond = BleuFoncé {_EVE.nom, indChamp}..Couleur = Blanc
- Procédure globale WLangage appelée par la fonction Evénement (perte de focus) :
PROCÉDURE ProcDeColorie {_EVE.nom, indChamp}..CouleurFond = CouleurDéfaut {_EVE.nom, indChamp}..Couleur = CouleurDéfaut
|
|
|
|