Page 1 sur 1

SpinGadget() et DisableGadget()

Publié : dim. 10/mai/2009 19:23
par Octavius
Je ne sais pas vraiment si c'est un bogue, mais c'est quand même qqch d'embêtant je trouve : l'apparence du SpinGadget() ne reflète pas forcément son état. En effet, lorsqu'on l'inactive ou que l'active son apparence ne change pas (les flèches restent grisées ou bien vives). Pour que l'apparence soit cohérent avec l'état il faut forcer la mise à jour de la fenêtre (par exemple en faisant minimiser puis restaurer).

Il y a plusieurs versions en arrière que j'ai constaté ceci, mais le bogue n'est toujours pas corrigé en 4.3.

Pour forcer la mise à jour directement à partir du code j'utilise la commande API suivante :

Code : Tout sélectionner

RedrawWindow_(GadgetID(#MonGadget),0,0,#RDW_INVALIDATE|#RDW_INTERNALPAINT|#RDW_ERASE)
Je ne sais pas pourquoi, cette commande ne fonctionne pas directement sur le SpinGadget() alors qu'elle fonctionne correctement pour mettre à jour les autres types de gadgets. Alors du coups mon astuce c'est de forcer la mise à jour d'un gadget qui contient mon SpinGadget() ( par exemple un PanelGadget() ou un ContainerGadget() ), et là enfin ça marche !

Mais ce serait bien que ce "bogue" soit corrigé pour la prochaine version.

Publié : dim. 10/mai/2009 21:52
par Backup
c'est peut etre normal !

les Spingadget doivent etre utilisé dans un ContainerGadget()
pour que le choix puisse fonctionner !, il me semble (de memoire) ...

Publié : mer. 13/mai/2009 16:07
par gnozal
Problème connu avec fix de Sparkie : http://www.purebasic.fr/english/viewtopic.php?t=36412

Publié : dim. 24/mai/2009 14:22
par Octavius
Eh bien ça fait donc 2 fixes différents !

Savez-vous si Fred compte corriger ce bogue dans la prochaine version ?