Flash CS4 Professional ActionScript 2.0

Utilisation de styles avec le composant TextArea

Les propriétés de style backgroundColor et borderStyle du composant TextArea sont définies dans une déclaration de style de classe. Les styles de classe remplacent les styles globaux. Pour définir les propriétés de style backgroundColor et borderStyle, vous devez donc créer une autre déclaration de style personnalisée sur l'occurrence.

Si le nom d'une propriété de style se termine par « Color », il s'agit d'une propriété de style de couleur qui se comporte différemment des autres propriétés de style. Pour plus d'informations, reportez-vous à Utilisation de styles pour personnaliser la couleur et le texte des composants dans Utilisation des composants ActionScript 2.0.

Un composant TextArea prend en charge les styles suivants :

Style

Thème

Description

backgroundColor

Les deux

Couleur d'arrière-plan. La couleur par défaut
est le blanc.

borderStyle

Les deux

Le composant TextArea utilise une occurrence de RectBorder en tant que bordure et répond aux styles définis pour cette classe. Voir Classe RectBorder.

 

Le style de bordure par défaut est « inset ».

marginLeft

Les deux

Nombre indiquant la marge gauche pour le texte.
La valeur par défaut est 0.

marginRight

Les deux

Nombre indiquant la marge droite pour le texte.
La valeur par défaut est 0.

color

Les deux

Couleur du texte. La valeur par défaut est 0x0B333C pour le thème Halo et vide pour le thème Sample.

disabledColor

Les deux

Couleur du texte lorsque le composant est désactivé. La couleur par défaut est 0x848384 (gris foncé).

embedFonts

Les deux

Valeur booléenne qui indique si la police spécifiée dans fontFamily est de type intégré. Ce style doit être défini sur true si fontFamily fait référence à une police intégrée. Dans le cas contraire, la police intégrée n'est pas utilisée. Si ce style est défini sur true et que fontFamily ne fait pas référence à une police intégrée, aucun texte n'est affiché. La valeur par défaut est false.

fontFamily

Les deux

Nom de la police du texte. La valeur par défaut est "_sans".

fontSize

Les deux

Taille, en points, de la police. La valeur par défaut est 10.

fontStyle

Les deux

Style de police : "normal" ou "italic". La valeur par défaut est "normal".

fontWeight

Les deux

Epaisseur de la police : "none" ou "bold". La valeur par défaut est  "none". Tous les composants peuvent également accepter la valeur "normal" au lieu de "none" pendant un appel à la méthode setStyle(), mais les appels suivants à getStyle() renvoient "none".

textAlign

Les deux

Alignement du texte : "left", "right", "center" ou "justify". (Le paramètre « justify » est pris en charge uniquement dans Flash Player 8). La valeur par défaut est "left".

textIndent

Les deux

Nombre indiquant le retrait du texte. La valeur par défaut est 0.

textDecoration

Les deux

Décoration du texte : "none" ou "underline". La valeur par défaut est "none".

Les composants TextArea et TextInput utilisent exactement les mêmes styles et sont souvent utilisés de la même façon. Par conséquent, ils partagent par défaut la même déclaration de style de niveau de classe.

Par exemple, le code suivant définit un style sur la déclaration TextInput mais il affecte à la fois les composants TextInput et TextArea.

_global.styles.TextInput.setStyle("disabledColor", 0xBBBBFF);

Pour séparer les composants et fournir des styles de niveau de classe pour l'un et non pour l'autre, créez une déclaration de style.

import mx.styles.CSSStyleDeclaration;
_global.styles.TextArea = new CSSStyleDeclaration();
_global.styles.TextArea.setStyle("disabledColor", 0xFFBBBB);

Cet exemple ne vérifie pas si _global.styles.TextArea existait avant d'être remplacé ;
il est supposé que vous savez qu'il existe et que vous souhaitez le remplacer.

Vous pouvez rendre l'arrière-plan des composants TextArea transparent en définissant le style backgroundColor globalement sur une valeur undefined. Vous devez ensuite définir individuellement le style backgroundColor sur une couleur pour tous les composants TextArea qui ne doivent pas être transparents.

// Attribution d'arrière-plans transparents à tous les composants TextArea.
_global.styles.TextArea.backgroundColor = undefined;

// Affectation d'un arrière-plan blanc à cette occurrence de composant
// spécifique. myTextArea2.setStyle( "backgroundColor", "white" );

Le composant TextArea prend en charge un jeu de styles de composant pour tout le texte du champ. Cependant, vous pouvez également afficher du code HTML compatible avec le rendu HTML de Flash Player. Pour afficher du texte HTML, définissez TextArea.html sur true.

Si vous définissez le composant TextArea pour qu'il affiche du texte HTML, le style du texte est défini à l'aide de la classe TextField.StyleSheet (consultez les détails de cette classe dans le Guide de référence du langage ActionScript 2.0). Voici un exemple d'utilisation :

  1. Faites glisser un composant TextArea sur la scène et nommez l'occurrence my_ta.
  2. Entrez ce code dans le panneau Actions pour l'image 1 du scénario :
var my_styles = new TextField.StyleSheet();
my_styles.setStyle("p", {fontFamily:'Arial,Helvetica,sans-serif', fontSize:'12px', color:'#CC6699'});
my_ta.styleSheet = my_styles;
my_ta.html = true;
my_ta.text = "<p>This is some text</p>";