Changer la couleur de boutons | |
Philippe | 27-Oct-2006/17:17:01+2:00 |
Salut, J'ai le code suivant qui permet de changer la couleur des boutons. Il me semble que plusieurs changements successifs conduisent à des couleurs incohérentes. Est-ce ma vue qui baisse, mon écran qui meurt ou un pb de block effect à remettre à blanc ? Maître Didec, si tu passes par là ... menu-button-color: ivory view Win: layout [ bouton: btn "Btn" 100x24 [ if val: request-color [ bouton/effect/colorize: val ] show bouton ] with [ color: menu-button-color ] bouton2: button "TEST2" [ if val: request-color [ append bouton2/effect reduce ['colorize val] ] show bouton2 ] with [ color: svvc/button effect: copy [fit] ] ] ===Philippe | |
shadwolf | 27-Oct-2006/18:04:11+2:00 |
moi je constate: le premier bouton marche bien il prend la couleur qu'on lui donne le 2eme devient de plus en plus sombre pour finir tout noir quelque soit la couleur qu'on lui donne... ce qui est normal car append bouton2/effect reduce ['colorize val] va empiler les couleur dans un champs qui est pas fait pour résultat ben comme y a plein plein de couleurs et que VID sais pas les gérer il fout tout en noir. Une autre explication se serrait que les données de la liste des couleurs du au changement successif soit additionné par VID et comme au bout d'un certain nombre de couleurs empilées additionnées on tombe sur le max 255.255.255 on obtient au final un bouton de couleur noir. ca expliquerait l'effet de fonçage progressif de ce bouton si on remplace append par insert on a juste la premiere couleur du changement qui est prise en compte les couleurs des changements suivant ne sont pas pris en compte menu-button-color: ivory view Win: layout [ bouton: btn "Btn" 100x24 [ if val: request-color [ bouton/effect/colorize: val ] show bouton ] with [ color: menu-button-color ] bouton2: button "TEST2" [ if val: request-color [ insert bouton2/effect reduce ['colorize val] ] show bouton2 ] with [ color: svvc/button effect: copy [fit] ] ] Un tour dans anaminitor nous renseignerait sur le contenu apres plusieur modifications de couleurs de l'objet VID boutton2 | |
DideC | 28-Oct-2006/15:20:04+2:00 |
Tout juste, les 'colorize s'empilent dans le block, ce qui n'a guère d'intéret. il suffit de prober bouton2/effect avec un autre bouton pour s'en rendre compte. | |
johnatemps | 29-Oct-2006/9:02:39+1:00 |
additionnées on tombe sur le max 255.255.255 on obtient au final un bouton de couleur noir. -> blanc, 255 c'est blanc | |
Philippe | 30-Oct-2006/15:50:52+1:00 |
Salut, Désolé, le WE a été chargé, je n'ai pas trop regardé le forum. Effectivement, si on fait un append, on ajoute le colorize, et au bout d'un moment, on tend vers le noir, mais avec un insert (code de shad), on n'a pas non plus la couleur souhaitée. C'est peu visible avec des couleurs foncées, mais typiquement, avec du jaune (255.255.0), on n'obtient pas du jaune, alors même que le bloc effect ne contiendrait que [fit colorize 255.255.0]. Illustration avec le code suivant (où il faudra décommenter la ligne bouton2/colors ) : menu-button-color: ivory view Win: layout [ bouton: btn "Btn" 100x24 [ if val: request-color [ bouton/effect/colorize: val ] show bouton ] with [ color: menu-button-color ] bouton2: button "TEST2" [ if val: request-color [ bouton2/effect: copy [] append bouton2/effect reduce ['fit 'colorize val] ;bouton2/colors: reduce [val val] ] show bouton2 ] with [ color: svvc/button effect: copy [fit] ] bouton3: btn-help "EFFECT BT2" 80x20 [ print form bouton2/effect ] ] Ceci a cause de l'init du button. ===Philippe | |
Login required to Post. |