PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Gestion du mode sombre
Gestion du mode sombre
Débuté par Pascal BOULESTEIX, 02 déc. 2020 18:34 - 3 réponses
Membre enregistré
1 135 messages
Posté le 02 décembre 2020 - 18:34
Bonjour à tous
Je me lance dans l'adaptation de mon application au mode sombre mais j'ai un problème.
En mode GO android, quand l'active le mode sombre avec le nouveau bouton, au chargement des fenêtres, ma fonction qui attribue un des trois gammes de coloris prévus dans les choix utilisateurs (couleur, NB et daltonien) renvoie une couleur, le rouge que j'ai choisi, mais celui ci est toujours affiché en gris. En fait, toutes les couleurs sont toutes du même gris anthracite.
btn_x..couleurfond=gPROC_COLORIS("ORANGE")

ProceduregPROC_COLORIS(sParmCouleurest une chaîne) :Couleur

SELONgnDaltonien
CAS0:
SELONsParmCouleur
CAS"ORANGE":
RENVOYER(gCouleurOrange)
CAS"ROUGE":
RENVOYER(gCouleurRouge)
CAS"VERT":
RENVOYER(gCouleurVert)
CAS"BLEU":
RENVOYER(gCouleurBleu)
CAS"BLEUCLAIR":
RENVOYER(gCouleurBleuClair)
CAS"TASKBAR":
RENVOYER(gCouleurTaskBar)
AUTRECAS
RENVOYER(gCouleurBleu)

FIN
CAS1:

SELONsParmCouleur
CAS"ORANGE":
RENVOYER(gCouleurNBOrange)
CAS"ROUGE":
RENVOYER(gCouleurNBRouge)
CAS"VERT":
RENVOYER(gCouleurNBVert)
CAS"BLEU":
RENVOYER(gCouleurNBBleu)
CAS"BLEUCLAIR":
RENVOYER(gCouleurNBBleuClair)
CAS"TASKBAR":
RENVOYER(gCouleurNBTaskBar)
AUTRECAS
RENVOYER(gCouleurNBBleu)

FIN
CAS2:

SELONsParmCouleur
CAS"ORANGE":
RENVOYER(gCouleurDaltonienOrange)
CAS"ROUGE":
RENVOYER(gCouleurDaltonienRouge)
CAS"VERT":
RENVOYER(gCouleurDaltonienVert)
CAS"BLEU":
RENVOYER(gCouleurDaltonienBleu)
CAS"BLEUCLAIR":
RENVOYER(gCouleurDaltonienBleuClair)
CAS"TASKBAR":
RENVOYER(gCouleurDaltonienTaskBar)
AUTRECAS
RENVOYER(gCouleurDaltonienBleu)

FIN


FIN

>Quelqu'un aurait-il une explication ?
Membre enregistré
3 611 messages
Posté le 02 décembre 2020 - 19:16
Déjà tu ne teste pas sur l'appareil
Ensuite tu n'utilise pas les fonctions de changement de thèmes
Voirhttps://doc.windev.com/fr-FR/…
Et puis tu proposes 3 thèmes alors que wm n'en propose que 2
>Donc il serait bien de donner plus d'informations car l'à je comprends rien
Membre enregistré
1 135 messages
Posté le 03 décembre 2020 - 09:43
1 - Quand on autorise le passage en mode sombre (desc du projet), le lancement en mode GO ajoute un bouton dans la barre de contrôle général de la fenêtre à coté du bouton "passage vertical/horizontal". On n'a donc rien à programmer (du moins on peut) pour voir comment sera affiché la fenêtre en mode sombre.
2 - Dans mon application, tous les boutons (simples et flottants) ont des coloris personnalisés, coloris que je gère par programmation (trois choix pour les utilisateurs, couleur, NB et daltonien)
3 - Pour changer les coloris des boutons, j'ai écris deux fonctions, une pour changer le fond du bouton (celle qui est proposée ci-dessus), une autre pour la couleur de la police.

Ceci étant dit, depuis hier, j'ai avancé : lorsque le mode sombre est actif, pour que la personnalisation des coloris soit prise en compte, il faut exécuté les affectations dans la proc de fin d'initialisation de la fenêtre alors que je faisais l'init au chargement de la fenêtre.

Mon problème est donc résolu, du moins partiellement car j'ai trouvé deux bugs transmis au support :

1 - les boutons flottants,
- "naturellement" ronds, ils peuvent être modifiés dans leur style pour qu'ils soient rectangulaire. Dans mon projet j'utilise les deux format, les ronds pour afficher des icônes, les rectangulaire pour les textes.
- En mode sombre, le style rectangulaire est perdu, les boutons étant présentés rond avec le texte tronqué.

2 - les boutons standard.
- Pour pouvoir choisir la couleur du fond, on commence par supprimer l'image associée au bouton. Après l'application d'une couleur fonctionne.
- En mode sombre, les coloris personnalisés ne sont pas affichés.








>
Membre enregistré
3 611 messages
Posté le 03 décembre 2020 - 12:29
Tu as raison et tord en même temps
Il est vrai que le monde sombre ajoute un bouton en mode go
Pour simulé le mode nuit exécuter par l'utilisateur
Mais tu dois tout de même testé pour savoir si tu es dans ce mode
Voici un exemple fourni dans l'aide
// Evénement "Application du thème clair/sombre"
SIRécupèreThème() =stThèmeSombreALORS
IMG_ImageFond="FondSombre.png"
SINON
IMG_ImageFond="FondClair.png"
FIN

De plus l'aide précise qu'en réalité wm ajoute le thème
BlackStellar
Pour ce qui est des boutons j'avoue ne pas savoir
>Répondre