PRATIQUE FLASH 
Modifier l'apparence d'un composant graphique
 
Les méthodes ActionScript pour adapter les éléments graphiques à sa propre interface (02/03/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

Macromedia a mis à disposition des développeurs, depuis la version MX de Flash, une série de composants d'interface (les Flash UI components), dans le but avoué d'établir des standards graphiques là où les animations Flash utilisaient chacune leur propre représentation d'une case à cocher, d'un menu déroulant ou d'une barre de défilement.

Avec des éléments standards, les applications Flash en deviennent certes plus simples à utiliser, mais ces éléments, utilisés tels quels, risquent d'imposer trop aux développeurs, et donc de limiter leurs capacités à faire une interface audacieuse ou particulière. Macromedia a prévu cela, et ActionScript offre donc les moyens de modifier les composants, et mieux les intégrer à une interface spéciale.

Tous les composants disposent des nombreuses propriétés de style, dont voici les principales. Elles permettent de revoir totalement l'aspect graphique de ces composants, sans perdre leurs capacités pratiques.

Propriétés de style de composants Flash MX
Propriété
Domaine d'application
background
couleur du fond
darkshadow
couleur de l'ombre portée intérieure
face
couleur principale
shadow
couleur de l'ombre
textColor
couleur du texte
textSize
...et sa taille
check
couleur de la croix de la case à cocher
arrow
couleur de la flèche de la barre de défilement
selection
couleur de la mise en relief d'un élément
scrollTrack
couleur du curseur de défilement dans la barre

Il est possible d'appliquer des changements à un composant particulier via sa méthode setProperty(), à plusieurs composants en utilisant l'objet FStyleFormat, et à tous les composants en passant par l'objet globalStyleFormat. Il est ainsi possible de préciser au maximum ses désirs d'interface. Par exemple :

fsf = new FStyleFormat();
fsf.addListener(barreDefil1, barreDefil2, leMenu);
fsf.face = 0xF0F0F0;
fsf.textUnderline = false;
fsf.applyChanges();
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page