PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Coloriser le fond des objets de saisie sur l'ensemble d'une application
Coloriser le fond des objets de saisie sur l'ensemble d'une application
Débuté par MICHEL, 23 jan. 2019 20:54 - 5 réponses
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 23 janvier 2019 - 20:54
Bonjour,

Je voudrais dans mon application coloriser avec un fond jaune l'objet ayant le focus.
J'ai trouvé ce sujet qui répond tout à fait à ma question

https://doc.pcsoft.fr/?20008

Par contre il colorise TOUS les objets. Je voudrais limiter aux Combobox et aux champs de saisie.
J'imagine que c'est au niveau du code
{_EVE.nom, indChamp}..CouleurFond = JauneClair
{_EVE.nom, indChamp}..Couleur = GrisFoncé


qu'il faut tester le type de l'objet et tester le type. Par contre je ne vois pas comment récupérer l'information.

Merci d'avance de vos idées.
Posté le 24 janvier 2019 - 09:02
Bonjour,
Dans la procédure évènement tester le type de champs.
Exemple : MoiMême..Type<>typBouton …
Bon Dev
Bruno
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 24 janvier 2019 - 10:53
Merci beaucoup ça fonctionne
Par contre je ne vois pas quel type définir pour les cellules d'une table. Si j'utilise typtable cela colorise tout l'objet et je voudrais ne coloriser que la combobox ou le champ de saisie de la ligne courante.

Si vous aviez la réponse à cela ce serait génial
Membre enregistré
948 messages
Popularité : +30 (92 votes)
Posté le 24 janvier 2019 - 11:14
Coucou,

Tu peut aussi voir en compléments les "eYe magnet" (appelé également mise en forme conditionnelle)

Reference: https://doc.pcsoft.fr/?9000082&name=eye_magnet_mise_forme_conditionnelle_des_champs

--
In üs we trust - #92i - #LaPiraterieNestJamaisFinie
Posté le 24 janvier 2019 - 23:33
Bonsoir ( ou bonjour selon le fuseau horaire)

Pour ma par j'ai adapté le code PCSoft en ajoutant les conditions que tu recherches:
PROCÉDURE ProcColorie()
sNomChamp est une chaîne = _EVE.nom

SI {sNomChamp, indChamp}..Type = typTexte OU {sNomChamp, indChamp}..Type = typNum OU {sNomChamp, indChamp}..Type = typDate OU {sNomChamp, indChamp}..Type = typComboAVS OU {sNomChamp, indChamp}..Type = typInterr ALORS
// mémorise la couleur de fond
gCouleurFondChampEnEvidence = {sNomChamp, indChamp}..CouleurFond
gCouleurChampEnEvidence = {sNomChamp, indChamp}..Couleur
gMiseEnGrasChampsEnEvidence = {sNomChamp, indChamp}..PoliceGras
// mémorise le nom du champ et de la fenêtre en cours
gNonFenêtreEnEvidence= FenEnCours() //MaFenêtre..Nom
gNomChampEnEvidence = gNonFenêtreEnEvidence+"."+sNomChamp
// mise en évidence
{sNomChamp, indChamp}..CouleurFond = RVB(255, 255, 0)
{sNomChamp, indChamp}..Couleur = iNoir//iBlanc
{sNomChamp, indChamp}..PoliceGras = Vrai
FIN

//Il faut bien sûr déclarer les variables gCouleurFondChampEnEvidence/gCouleurChampEnEvidence/gMiseEnGrasChampsEnEvidence en global dans la fenêtre d'initialisation de ton projet.

Ensuite tout fonctionne !

À plus.
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 25 janvier 2019 - 14:10
Merci.
J'étais parti en peu dans ce sens. Ce que je n'avais pas trouvé c'est le "typInterr" pour les combobox incluses dans une table.