flash.textTextExtent La classe TextExtent contient des informations relatives aux limites de texte dans un champ de texte.Object La classe TextExtent contient des informations relatives aux limites de texte dans un champ de texte. Les objets de cette classe sont renvoyés par la méthode TextFormat.getTextExtent. TextExtentwidthNumberheightNumbertextFieldWidthNumbertextFieldHeightNumberascentNumberdescentNumberascentNumberdescentNumberheightNumbertextFieldHeightNumbertextFieldWidthNumberwidthNumberCSMSettings La classe CSMSettings contient des propriétés à utiliser avec la méthode TextRenderer.setAdvancedAntiAliasingTable() pour mettre en place une modulation continue du trait (CSM).Object La classe CSMSettings contient des propriétés à utiliser avec la méthode TextRenderer.setAdvancedAntiAliasingTable() pour mettre en place une modulation continue du trait (CSM). CSM désigne la modulation continue de l’épaisseur du trait et de la netteté des bords. TextRenderer.setAdvancedAntiAliasingTable()CSMSettings Crée un objet CSMSettings qui enregistre les valeurs de trait pour les paramètres d’anticrènelage personnalisés.fontSizeNumberLa taille, en pixels, pour laquelle les paramètres s’appliquent. insideCutoffNumberLa valeur de limite intérieure, au-dessus de laquelle les densités sont définies sur une densité maximale, telle que 255. outsideCutoffNumberUne valeur de limite extérieure, sous laquelle les densités sont définies sur zéro. Crée un objet CSMSettings qui enregistre les valeurs de trait pour les paramètres d’anticrènelage personnalisés. fontSize La taille, en pixels, pour laquelle les paramètres s’appliquent.Number La taille, en pixels, pour laquelle les paramètres s’appliquent.

Le tableau advancedAntiAliasingTable transmis à la méthode setAdvancedAntiAliasingTable() peut comporter plusieurs entrées qui spécifient les paramètres CSM pour différentes tailles de police. Cette propriété permet de spécifier la taille de la police à laquelle les autres paramètres s’appliquent.

TextRenderer.setAdvancedAntiAliasingTable()
insideCutoff La valeur de limite intérieure, au-dessus de laquelle les densités sont définies sur une densité maximale, telle que 255.Number La valeur de limite intérieure, au-dessus de laquelle les densités sont définies sur une densité maximale, telle que 255. TextRenderer.setAdvancedAntiAliasingTable()outsideCutoff Une valeur de limite extérieure, sous laquelle les densités sont définies sur zéro.Number Une valeur de limite extérieure, sous laquelle les densités sont définies sur zéro. TextRenderer.setAdvancedAntiAliasingTable()
TextColorType La classe TextColorType fournit des valeurs de couleur pour la classe flash.text.TextRenderer.Object La classe TextColorType fournit des valeurs de couleur pour la classe flash.text.TextRenderer. flash.text.TextRendererDARK_COLOR Utilisé par le paramètre colorType de la méthode setAdvancedAntiAliasingTable().Bob Pappas darkString Utilisé par le paramètre colorType de la méthode setAdvancedAntiAliasingTable(). Utilisez la syntaxe TextColorType.DARK_COLOR. flash.text.TextRenderer.setAdvancedAntiAliasingTable()LIGHT_COLOR Utilisé par le paramètre colorType de la méthode setAdvancedAntiAliasingTable().lightString Utilisé par le paramètre colorType de la méthode setAdvancedAntiAliasingTable(). Utilisez la syntaxe TextColorType.LIGHT_COLOR. flash.text.TextRenderer.setAdvancedAntiAliasingTable()GridFitType La classe GridFitType définit des valeurs pour l’adaptation à la grille dans la classe TextField.Object La classe GridFitType définit des valeurs pour l’adaptation à la grille dans la classe TextField. flash.text.TextFieldNONE Ne définit pas d’adaptation à la grille.Bob Pappas noneString Ne définit pas d’adaptation à la grille. Les lignes horizontales et verticales des glyphes ne sont pas alignées sur la grille de pixels. Cette constante permet de définir la propriété gridFitType de la classe TextField. Ce paramètre est généralement retenu pour les animations ou les grandes polices. Utilisez la syntaxe GridFitType.NONE. flash.text.TextField.gridFitTypePIXEL Adapte des lignes horizontales et verticales fortes à la grille de pixels.Bob Pappas pixelString Adapte des lignes horizontales et verticales fortes à la grille de pixels. Cette constante permet de définir la propriété gridFitType de la classe TextField. Ce paramètre fonctionne uniquement pour les champs de texte justifiés à gauche et agit comme la constante GridFitType.SUBPIXEL pour le texte statique. Ce paramètre rend généralement le texte justifié à gauche plus lisible. Utilisez la syntaxe GridFitType.PIXEL. flash.text.TextField.gridFitTypeSUBPIXEL Adapte des lignes horizontales et verticales fortes à la grille de sous-pixels des écrans à cristaux liquides.Bob Pappas subpixelString Adapte des lignes horizontales et verticales fortes à la grille de sous-pixels des écrans à cristaux liquides (rouge, vert et bleu correspondent à des pixels réels sur un écran à cristaux liquides). Ce paramètre est généralement préférable pour tout texte dynamique aligné à droite ou à gauche et permet d’établir un bon compromis entre les contraintes d’animation et de qualité du texte. Cette constante permet de définir la propriété gridFitType de la classe TextField. Utilisez la syntaxe GridFitType.SUBPIXEL. flash.text.TextField.gridFitTypeStaticText Cette classe représente les objets MorphShape figurant dans la liste d’affichage.flash.display:DisplayObject Cette classe représente les objets MorphShape figurant dans la liste d’affichage. Vous ne pouvez pas définir un objet StaticText avec du code ActionScript. Seul l’outil de création permet de créer un objet StaticText. Toute tentative de création d’un objet StaticText génère un objet ArgumentError.

Pour créer une référence à un champ de texte statique existant dans ActionScript 3.0, utilisez une itération sur les éléments de la liste d’affichage. Par exemple, le fragment de code suivant vérifie si la liste d’affichage contient un champ de texte statique et, le cas échéant, l’affecte à une variable :

var i:uint; for (i = 0; i < this.numChildren; i++) { var displayitem:DisplayObject = this.getChildAt(i); if (displayitem instanceof StaticText) { trace("a static text field is item " + i + " on the display list"); var myFieldLabel:StaticText = StaticText(displayitem); trace("and contains the text: " + myFieldLabel.text); } }
text Renvoie le texte actuel du champ de texte statique.String Renvoie le texte actuel du champ de texte statique. L’outil de création permet d’exporter différents objets champ de texte multiple comprenant l’ensemble du texte. Par exemple, pour le texte vertical, l’outil de création crée un champ de texte par caractère.
TextField La classe TextField permet de créer des objets d’affichage et de saisie de texte.La classe TextField permet de créer des objets d’affichage et de saisie de texte. flash.display:InteractiveObject La classe TextField permet de créer des objets d’affichage et de saisie de texte. Vous pouvez utiliser la classe TextField pour procéder à un rendu de texte de bas niveau. Cependant, dans Flex, vous devez normalement utiliser les contrôles Label, Text, TextArea et TextInput pour traiter le texte. Vous pouvez donner un nom d’occurrence à un champ de texte dans l’inspecteur des propriétés, puis utiliser les méthodes et les propriétés de la classe TextField pour la modifier avec ActionScript. Les noms d’occurrence de TextField s’affichent dans l’explorateur d’animations et dans la boîte de dialogue Insérer un chemin cible du panneau Actions.

Pour créer un champ de texte de façon dynamique, utilisez le constructeur TextField().

Les méthodes de la classe TextField permettent de définir, sélectionner et manipuler du texte dans un champ de texte dynamique ou de saisie que vous créez en cours de création ou à l’exécution.

ActionScript offre différentes manières de formater vos textes à l’exécution. La classe TextFormat permet de définir le formatage des caractères et des paragraphes pour les objets TextField. Vous pouvez appliquer des feuilles de style en cascade (CSS) aux champs de texte à l’aide de la propriété TextField.styleSheet et de la classe StyleSheet. Vous pouvez utiliser les feuilles de style en cascade pour les appliquer aux balises HTML intégrées, définir de nouvelles balises de format ou appliquer des styles. Vous pouvez affecter du texte au format HTML, qui utilise éventuellement des feuilles de style en cascade, directement à un champ de texte. Le texte HTML que vous affectez à un champ de texte peut contenir des supports intégrés (clips, fichiers SWF, GIF, PNG et JPEG). Le texte entoure le média intégré comme dans un document HTML dans un navigateur Web.

Flash Player prend en charge un sous-ensemble de balises HTML à utiliser pour formater le texte. Vous trouverez la liste des balises HTML prises en charge dans la description de la propriété htmlText.

L’exemple suivant a recours à la classe TextFieldExample pour afficher un message texte. Cette opération s’accomplit de la façon suivante :
  1. Une propriété label de type TextField est créée.
  2. Le constructeur de classe appelle la fonction configureLabel().
  3. La méthode configureLabel() crée tout d’abord un objet TextField et l’affecte à la propriété label, puis définit ses paramètres de la façon suivante :
    • Justifie le champ de texte à gauche.
    • Active le remplissage d’arrière-plan.
    • Active la bordure.
  4. La méthode configureLabel() crée la variable format et l’affecte à une nouvelle occurrence de TextFormat en définissant ses paramètres de la façon suivante :
    • Type de police = Verdana
    • Couleur de la police = rouge uni
    • Taille de la police = 10
    • Soulignement = true
  5. La propriété defaultTextFormat du champ de texte label est définie sur format et l’occurrence de label est ajoutée à la liste d’affichage, qui affiche tout d’abord un champ de texte vide sur la scène.
  6. Le constructeur définit le texte du champ de texte label sur "Hello world and welcome to the show." en appelant la méthode setLabel().
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class TextFieldExample extends Sprite { private var label:TextField; private var labelText:String = "Hello world and welcome to the show."; public function TextFieldExample() { configureLabel(); setLabel(labelText); } public function setLabel(str:String):void { label.text = str; } private function configureLabel():void { label = new TextField(); label.autoSize = TextFieldAutoSize.LEFT; label.background = true; label.border = true; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0xFF0000; format.size = 10; format.underline = true; label.defaultTextFormat = format; addChild(label); } } }
flash.text.TextFormatflash.text.StyleSheethtmlTexttextInteractionModeChange Flash Player distribue l’événement textInteractionModeChange lorsqu’un utilisateur modifie le mode d’interaction d’un champ de texte.flash.events.Event Flash Player distribue l’événement textInteractionModeChange lorsqu’un utilisateur modifie le mode d’interaction d’un champ de texte. Par exemple, sur Android, l’utilisateur peut passer du mode NORMAL au mode SELECTION à l’aide des options du menu contextuel. textInput Flash Player distribue l’événement textInput lorsqu’un utilisateur entre un ou plusieurs caractères de texte.flash.events.TextEvent.TEXT_INPUTflash.events.TextEvent Flash Player distribue l’événement textInput lorsqu’un utilisateur entre un ou plusieurs caractères de texte. Différentes méthodes de saisie de texte peuvent générer cet événement, ce qui inclut les claviers standard, les éditeurs de méthode d’entrée (IME), les systèmes de reconnaissance vocale, voire même la copie de texte simple sans formatage ni ajout de style. L’exemple suivant définit deux objets TextField : le premier est un champ de saisie de texte et le deuxième est un champ de texte dynamique. Lorsque vous entrez des caractères dans le premier champ de texte, un événement textInput est déclenché, le gestionnaire textInputHandler() est appelé, et les caractères s’affichent dans le second champ de texte. Lorsque vous collez un bloc de texte dans le champ de saisie, le gestionnaire de l’événement copie l’ensemble du bloc dans l’autre champ. package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextInputExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); public function TextInputExample() { myTextBox1.type = TextFieldType.INPUT; myTextBox1.width = 200; myTextBox1.height = 20; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(TextEvent.TEXT_INPUT,textInputHandler); } public function textInputHandler(event:TextEvent):void { myTextBox2.text=event.text; } } } scroll Distribué par un objet TextField après une opération de défilement effectuée par l’utilisateur.flash.events.Event.SCROLLflash.events.Event Distribué par un objet TextField après une opération de défilement effectuée par l’utilisateur. L’exemple suivant définit deux objets TextField. Deux gestionnaires d’événement sont associés au premier objet TextField. Lorsque vous cliquez dans le premier champ de texte, l’événement mouseDown est déclenché et le gestionnaire mouseDownScroll associé est appelé. Le gestionnaire mouseDownScroll() entraîne le défilement du champ. L’événement scroll est ensuite déclenché et le gestionnaire scrollHandler() actualise le second champ de texte pour afficher la position actuelle du défilement. package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextScrollExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); private var myText:String = "Hello world and welcome to the show. It's really nice to meet you. Take your coat off and stay a while. OK, show is over. Hope you had fun. You can go home now. Don't forget to tip your waiter. There are mints in the bowl by the door. Thank you. Please come again."; public function TextScrollExample() { myTextBox1.text = myText; myTextBox1.width = 200; myTextBox1.height = 50; myTextBox1.multiline = true; myTextBox1.wordWrap = true; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); myTextBox1.addEventListener(Event.SCROLL, scrollHandler); } public function mouseDownScroll(event:MouseEvent):void { myTextBox1.scrollV++; } public function scrollHandler(event:Event):void { myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; } } } link Distribué lorsqu’un utilisateur clique sur un lien hypertexte dans un champ de texte HTML dont l’URL commence par « event: ».flash.events.TextEvent.LINKflash.events.TextEvent Distribué lorsqu’un utilisateur clique sur un lien hypertexte dans un champ de texte HTML dont l’URL commence par « event: ». La partie de l’URL qui suit « event: » est placée dans la propriété text de l’événement LINK.

Remarque : le comportement par défaut, qui consiste à ajouter du texte au champ de texte, se produit uniquement lorsque Flash Player génère l’événement. Dans ce cas, ceci se produit lorsqu’un utilisateur tente de saisir du texte. Vous ne pouvez pas placer du texte dans un champ de texte en lui envoyant des événements textInput.

Dans l’exemple suivant, la fonction playMP3() est définie. Un objet TextField nommé list est créé et renseigné avec du texte HTML. Le texte « Track 1 » et « Track 2 » constitue des liens dans le champ de texte. La fonction playMP3() est appelée lorsque l’utilisateur clique sur l’un ou l’autre lien. Le nom du fichier MP3, qui suit la chaîne « event: » dans l’attribut href de la balise HTML, est transmis à la méthode linkHandler() en tant que propriété text de l’objet d’événement link. package { import flash.display.Sprite; import flash.errors.IOError; import flash.events.IOErrorEvent; import flash.events.TextEvent; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_event_link extends Sprite { private var myMP3:Sound; public function TextField_event_link() { myMP3 = new Sound(); var list:TextField = new TextField(); list.autoSize = TextFieldAutoSize.LEFT; list.multiline = true; list.htmlText = "<a href=\"event:track1.mp3\">Track 1</a><br>"; list.htmlText += "<a href=\"event:track2.mp3\">Track 2</a><br>"; addEventListener(TextEvent.LINK, linkHandler); addChild(list); } private function playMP3(mp3:String):void { try { myMP3.load(new URLRequest(mp3)); myMP3.play(); } catch(err:Error) { trace(err.message); } myMP3.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); } private function linkHandler(linkEvent:TextEvent):void { playMP3(linkEvent.text); } private function errorHandler(errorEvent:IOErrorEvent):void { trace(errorEvent.text); } } }
change Distribué après la modification d’une valeur de contrôle, contrairement à l’événement textInput, qui est distribué avant la modification de la valeur.flash.events.Event.CHANGEflash.events.Event Distribué après la modification d’une valeur de contrôle, contrairement à l’événement textInput, qui est distribué avant la modification de la valeur. Contrairement à la version de modèle d’événements W3C DOM de l’événement change, qui ne distribue l’événement que lorsque le contrôle a perdu le focus, la version ActionScript 3.0 de l’événement change est distribuée dès que le contrôle change. Par exemple, si un utilisateur tape du texte dans un champ de texte, un événement change est distribué à chaque pression de touche. Dans l’exemple suivant, le texte saisi par l’utilisateur (saisie utilisateur) est immédiatement copié (en miroir) dans un autre champ de texte au format de texte différent.

Deux champs de textes sont créés, l’un pour la saisie de l’utilisateur et l’autre (headingTextField), pour la copie de cette saisie. Un objet TextFormat est également créé et le format de texte par défaut est attribué au champ de texte headingTextField. Lorsque le contenu du champ de texte est modifié, la méthode changeHandler() est invoquée et affecte le contenu du champ de texte inputTextField au champ de texte headingTextField (si la méthode a été appelée pour l’événement TextEvent.TEXT_INPUT et non pour l’événement Event.CHANGE, le contenu de la saisie de l’utilisateur n’est copié qu’après une nouvelle saisie utilisateur).

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.events.Event; import flash.events.TextEvent; public class TextField_Event_changeExample extends Sprite { private var inputTextField:TextField = new TextField(); private var headingTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextField_Event_changeExample() { headingTextField.x = 10; headingTextField.y = 10; headingTextField.height = 30; headingTextField.width = 400; headingTextField.background = true; headingTextField.backgroundColor = 0xF5F5DC; headingTextField.selectable = false; inputTextField.x = 10; inputTextField.y = 70; inputTextField.height = 20; inputTextField.width = 230; inputTextField.background = true; inputTextField.border = true; inputTextField.maxChars = 40; inputTextField.wordWrap = true; inputTextField.type = TextFieldType.INPUT; inputTextField.addEventListener(Event.CHANGE, changeHandler); newFormat.bold = true; newFormat.size = 18; newFormat.color = 0xFF0000; newFormat.align = TextFormatAlign.CENTER; headingTextField.defaultTextFormat = newFormat; this.addChild(inputTextField); this.addChild(headingTextField); } private function changeHandler(e:Event):void { headingTextField.text = inputTextField.text; } } }
TextField Crée une occurrence de TextField. Crée une occurrence de TextField. Après avoir créé une occurrence de TextField, utilisez la méthode addChild() ou addChildAt() de l’objet DisplayObjectContainer parent pour ajouter l’occurrence de TextField à la liste d’affichage.

La taille par défaut d’un champ de texte est de 100 x 100 pixels.

L’exemple suivant indique comment créer de façon dynamique un objet TextField de saisie dans ActionScript 3.0 en définissant la propriété type de l’objet de champ de texte sur la constante TextFieldType.INPUT. Exemple fourni par ActionScriptExamples.com. var theTextField:TextField = new TextField(); theTextField.type = TextFieldType.INPUT; theTextField.border = true; theTextField.x = 10; theTextField.y = 10; theTextField.multiline = true; theTextField.wordWrap = true; addChild(theTextField);
appendText Ajoute la chaîne spécifiée par le paramètre newText à la fin du texte du champ de texte.newTextStringChaîne à ajouter au texte existant. Ajoute du texte à la fin du texte existant de TextField. Ajoute la chaîne spécifiée par le paramètre newText à la fin du texte du champ de texte. Cette méthode est plus efficace que l’affectation d’addition (+=) pour une propriété text (telle que someTextField.text += moreText), notamment pour les champs de texte dont le contenu est volumineux. L’exemple suivant affiche l’heure si ce n’est pas le week-end ou le texte « It’s the weekend » si ça l’est. Il compte également le nombre de caractères jusqu’à une certaine position et le nombre de lignes du champ de texte.

Le champ de texte outputText est défini pour s’adapter automatiquement au texte en se redimensionnant sous forme de texte justifié à gauche via la propriété autoSize. La propriété outputText.text écrit la première ligne du contenu et la méthode appendText() ajoute le reste du contenu (il n’est pas nécessaire de commencer par la propriété text. La méthode appendText() peut également être utilisée pour ajouter du texte depuis le début). Le fait de définir la propriété text une seconde fois remplace le texte d’origine. Utilisez l’opérateur += pour ajouter du contenu avec la propriété text.

L’instruction if vérifie si la date correspond à un Samedi (6) ou à un Dimanche (0). Si ce n’est pas le cas, la méthode toLocaleTimeString() renvoie l’heure locale, qui est ajoutée au contenu du champ de texte.

La propriété length est utilisée pour lire le nombre de caractères juste avant que la fonction ne soit appelée, et la propriété numLines compte le nombre de lignes du champ de texte. Notez que les lignes vides comptent dans le nombre de lignes et les espaces vides et les sauts de ligne (\n) sont pris en compte dans la longueur du contenu.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_appendTextExample extends Sprite { public function TextField_appendTextExample() { var outputText:TextField = new TextField(); var today:Date = new Date(); outputText.x = 10; outputText.y = 10; outputText.background = true; outputText.autoSize = TextFieldAutoSize.LEFT; outputText.text = "WHAT TIME IS IT?" + "\n\n"; if((today.day == 0) || (today.day == 6)) { outputText.appendText("It's the weekend."); outputText.appendText("\n\n"); } else { outputText.appendText("The time is: "); outputText.appendText(today.toLocaleTimeString() + ".\n\n"); } outputText.appendText("Number of characters including line breaks and spaces so far: "); outputText.appendText(outputText.length.toString() + "\n"); outputText.appendText("Number of lines in the outputText: "); outputText.appendText(outputText.numLines.toString()); this.addChild(outputText); } } }
getCharBoundaries Renvoie un rectangle représentant le cadre de sélection du caractère.Un rectangle avec des valeurs x et y minimales et maximales qui définissent le cadre de sélection du caractère. flash.geom:RectanglecharIndexintValeur d’index de base zéro du caractère (par exemple, la première position est 0, la deuxième position est 1, etc.). Renvoie un rectangle représentant le cadre de sélection du caractère. Renvoie un rectangle représentant le cadre de sélection du caractère. Dans l’exemple suivant, la méthode getCharBoundaries() est utilisée pour marquer (mettre en évidence) un caractère sélectionné par l’utilisateur.

La classe définit l’objet Shape spotlight qui servira à tracer un rectangle autour de chaque caractère sélectionné. Lorsque l’utilisateur clique sur le champ de texte myTextField, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getCharIndexAtPoint() obtient l’index du caractère sur lequel s’effectue le clic à partir des coordonnées localX et localY du clic de la souris, lié au Sprite contenant. La méthode getCharIndexAtPoint() renvoie -1 si le point (clic de la souris) n’a pas été effectué sur un caractère. Comme le champ de texte peut être plus grand que le texte, l’(index) du nombre entier renvoyé est vérifié pour s’assurer que l’utilisateur a cliqué sur un caractère. L’entier d’index est également utilisé par getCharBoundaries() pour obtenir un objet Rectangle qui gère la limite du caractère. La méthode clear() efface tout objet Shape spotlight précédemment affiché. Un nouveau rectangle, dont la taille correspond aux limites de hauteur et de largeur du caractère, est produit à l’emplacement du caractère (avec un décalage à partir des coordonnées (10, 10)) via les coordonnées x et y du rectangle frame. Pour mettre le caractère en évidence, l’objet Shape spotlight est coloré en jaune et l’opacité est définie sur 35 pour cent, de manière à ce que le caractère soit visible. Notez que les espaces sont également considérés comme des caractères.

package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.geom.Rectangle; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; import flash.display.Shape; public class TextField_getCharBoundariesExample extends Sprite { private var myTextField:TextField = new TextField(); private var spotlight:Shape = new Shape(); public function TextField_getCharBoundariesExample() { myTextField.x = 10; myTextField.y = 10; myTextField.border = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.text = "Selected a character from this text by clicking on it." myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); this.addChild(spotlight); } private function clickHandler (e:MouseEvent):void { var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if (index != -1) { var frame:Rectangle = myTextField.getCharBoundaries(index); spotlight.graphics.clear(); spotlight.graphics.beginFill(0xFFFF00, .35); spotlight.graphics.drawRect((frame.x + 10), (frame.y + 10), frame.width, frame.height); spotlight.graphics.endFill(); } } } }
flash.geom.Rectangle
getCharIndexAtPoint Renvoie la valeur d’index de base zéro du caractère au point spécifié par les paramètres x et y.Valeur d’index de base zéro du caractère (par exemple, la première position est 0, la deuxième position est 1, etc.). Renvoie -1 si le point n’est pas au-dessus d’un caractère. intxNumberCoordonnée x du caractère. yNumberCoordonnée y du caractère. Renvoie la valeur d’index de base zéro du caractère. Renvoie la valeur d’index de base zéro du caractère au point spécifié par les paramètres x et y. Dans l’exemple suivant, lorsqu’un utilisateur clique sur un caractère, ce dernier apparaît en miroir dans un autre champ de texte au-dessus du texte.

Le premier champ de texte gère le texte que l’utilisateur va sélectionner. Pour être certain que l’utilisateur a cliqué sur le texte mais ne l’a pas sélectionné, la propriété selectable est définie sur false. Lorsque l’utilisateur clique sur le champ de texte firstTextField, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getCharIndexAtPoint() renvoie l’index du caractère à partir des coordonnées localX et localY du clic de la souris. Comme le champ de texte peut être plus grand que le texte, l’(index) du nombre entier renvoyé est vérifié pour s’assurer que l’utilisateur a cliqué sur un caractère (la méthode getCharIndexAtPoint() renvoie -1 si le point (clic de la souris) n’a pas été effectué sur un caractère). Les coordonnées de la souris sont utilisées pour définir les coordonnées du nouveau champ de texte où le caractère mis en miroir doit apparaître. La couleur du caractère dans le second champ de texte est définie sur rouge. Enfin, le texte du second champ est défini sur le caractère sélectionné, récupéré via la méthode charAt(). Notez que l’utilisation de la propriété text à la place de la méthode appendText() écrasera le caractère dans le second champ de texte au lieu de l’ajouter.

package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.geom.Rectangle; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; public class TextField_getCharIndexAtPointExample extends Sprite { private var firstTextField:TextField = new TextField(); private var secondTextField:TextField = new TextField(); public function TextField_getCharIndexAtPointExample() { firstTextField.x = 100; firstTextField.y = 100; firstTextField.width = 260; firstTextField.height = 20; firstTextField.border = true; firstTextField.background = true; firstTextField.selectable = false; firstTextField.text = "Selected a character from this text by clicking on it." firstTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(firstTextField); this.addChild(secondTextField); } private function clickHandler (e:MouseEvent):void { var index:int = firstTextField.getCharIndexAtPoint(e.localX, e.localY); if (index != -1) { secondTextField.x = mouseX; secondTextField.y = 70; secondTextField.border = true; secondTextField.selectable = false; secondTextField.background = true; secondTextField.textColor = 0xFF0000; secondTextField.autoSize = TextFieldAutoSize.LEFT; secondTextField.text = firstTextField.text.charAt(index); } } } }
getFirstCharInParagraph En fonction d’un caractère d’index, renvoie l’index du premier caractère dans le même paragraphe.Le caractère d’index spécifié est hors limites. RangeErrorRangeErrorValeur d’index de base zéro du premier caractère dans le même paragraphe. intcharIndexintValeur d’index de base zéro du caractère (par exemple, le premier caractère est 0, le deuxième caractère est 1, etc.). Valeur d’index de base zéro du caractère. En fonction d’un caractère d’index, renvoie l’index du premier caractère dans le même paragraphe. Dans l’exemple suivant, une mise en forme de paragraphe est appliquée au contenu du champ de texte. Lorsque l’utilisateur clique sur un paragraphe, le texte de ce dernier est aligné à droite, puis retrouve son format (par défaut) original (aligné à gauche) lorsque l’utilisateur clique de nouveau sur le paragraphe.

Dans le constructeur, le champ de texte myTextField est défini pour renvoyer le texte à la ligne. La méthode getTextFormat renvoie le format d’origine du premier caractère du contenu du champ de texte, placé dans l’objet TextFormat originalFormat. Un nouvel objet TextFormat (newFormat) est également défini et le format justifié à droite est affecté à sa propriété align. Lorsque l’utilisateur clique sur le champ de texte, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getCharIndexAtPoint() renvoie l’index du caractère à partir des coordonnées localX et localY du clic de la souris. La première instruction if vérifie si l’utilisateur a cliqué sur un caractère. Via l’entier clickIndex renvoyé par la méthode getCharIndexAtPoint(), la méthode getFirstCharInParagraph() renvoie l’index du premier caractère du paragraphe dans lequel l’utilisateur a cliqué. L’index du dernier caractère du paragraphe est déterminé en ajoutant la longueur du paragraphe (via la méthode getParagraphLength()) à l’index du premier caractère du paragraphe, moins le dernier caractère (\n). La seconde instruction if vérifie le format du premier caractère du paragraphe. Si sa valeur d’alignement correspond au format original (justifié à gauche), le nouveau format est appliqué à tous les caractères du paragraphe. Dans le cas contraire, le format du paragraphe est réinitialisé sur son format d’origine. L’alignement, ainsi que le formatage tel que les retraits, les puces, les taquets de tabulation et les marges gauches et droites, sont des formats destinés aux paragraphes. Notez qu’une fois que le retour à la ligne ou le saut de ligne est utilisé, le formatage ne s’applique qu’à la première ligne du paragraphe si l’argument endIndex n’est pas défini pour la méthode setTextFormat().

package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.text.TextFormatAlign; public class TextField_getFirstCharInParagraphExample extends Sprite { private var myTextField:TextField = new TextField(); private var originalFormat:TextFormat = new TextFormat(); private var newFormat:TextFormat = new TextFormat(); public function TextField_getFirstCharInParagraphExample() { myTextField.x = 10; myTextField.y = 10; myTextField.border = true; myTextField.wordWrap = true; myTextField.width = 300; myTextField.height = 300; myTextField.background = true; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file " + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n" + "To create a text field dynamically, use the TextField constructor.\n\n" + "The methods of the TextField class let you set, select, and manipulate " + "text in a dynamic or input text field that you create during authoring or at runtime.\n\n"); originalFormat = myTextField.getTextFormat(0); newFormat.align = TextFormatAlign.RIGHT; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); } private function clickHandler(e:MouseEvent):void { var clickIndex:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if(clickIndex != -1) { var paragraphFirstIndex:int = myTextField.getFirstCharInParagraph(clickIndex); var paragraphEndIndex:int = paragraphFirstIndex + ((myTextField.getParagraphLength(clickIndex) - 1)); if (myTextField.getTextFormat(paragraphFirstIndex).align == originalFormat.align) { myTextField.setTextFormat(newFormat, paragraphFirstIndex, paragraphEndIndex); }else { myTextField.setTextFormat(originalFormat, paragraphFirstIndex, paragraphEndIndex); } } } } }
getImageReference Renvoie une référence DisplayObject pour l’ID donné, pour une image ou un fichier SWF qui a été ajouté à un champ de texte qui applique le format HTML à l’aide de la balise &lt;img&gt;.L’objet d’affichage qui correspond à l’image ou au fichier SWF possédant l’attribut id correspondant dans la balise <img> du champ de texte. Pour les médias chargés à partir d’une source externe, cet objet est de type Loader et, une fois chargé, l’objet média devient l’enfant de cet objet Loader. Pour le média intégré dans le fichier SWF, il s’agit de l’objet chargé. S’il n’existe pas de balise <img> avec un paramètre id correspondant, la méthode renvoie null. flash.display:DisplayObjectidStringL’id à faire correspondre (dans l’attribut id de la balise <img>). Renvoie une référence DisplayObject pour l’id donné, pour une image ou un fichier SWF qui a été ajouté à un champ de texte qui applique le format HTML à l’aide de la balise <img>. La balise <img> est au format suivant :

   <img src = 'filename.jpg' id = 'instanceName' >

Dans l’exemple suivant, lorsque l’utilisateur clique dans le champ de texte, l’image du champ est définie sur une opacité de 25 pour cent et pivote de 90 degrés par rapport à sa position d’origine. L’image continue à pivoter à chaque clic suivant.

L’image (image.jpg) est incluse via le code HTML (ici, le fichier image est supposé être dans le même répertoire que le fichier SWF). Un attribut id doit être défini pour la balise img pour pouvoir accéder à l’image via la méthode getImageReference(). La propriété htmlText est utilisée pour inclure un contenu de chaîne au format HTML. Lorsque l’utilisateur clique sur le champ de texte myTextField, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getImageReference() renvoie une référence aux images sous forme d’objet DisplayObject. Cette référence peut être utilisée pour manipuler l’image, comme tout objet DisplayObject. Ici, les propriétés alpha (transparence) et rotation sont définies. La propriété transform peut également être utilisée pour accéder à la matrice, à la transformation de couleur et aux limites de pixel de l’objet d’affichage. Notez également que flash.display.DisplayObject doit être importé.

package { import flash.display.Sprite; import flash.text.TextField; import flash.events.Event; import flash.events.MouseEvent; import flash.display.DisplayObject; import flash.text.TextFieldAutoSize; public class TextField_getImageReferenceExample extends Sprite { private var myTextField:TextField = new TextField(); public function TextField_getImageReferenceExample() { var myText1:String = "<p>Here is an image we want to mainpulate: <img src='image.jpg' id='testimage'></p>"; myTextField.x = 10; myTextField.y = 10; myTextField.width = 250; myTextField.height = 250; myTextField.background = true; myTextField.border = true; myTextField.border = true; myTextField.multiline = true; myTextField.htmlText = myText1; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); } private function clickHandler(e:MouseEvent):void { var imageRef:DisplayObject = myTextField.getImageReference("testimage"); imageRef.rotation += 90; imageRef.x = 125; imageRef.y = 125; imageRef.alpha = 0.25; } } }
htmlText
getLineIndexAtPoint Renvoie la valeur d’index de base zéro de la ligne au point spécifié par les paramètres x et y.Valeur d’index de base zéro de la ligne (par exemple, la première ligne est 0, la deuxième ligne est 1, etc.). Renvoie -1 si le point n’est pas au-dessus d’une ligne. intxNumberCoordonnée x de la ligne. yNumberCoordonnée y de la ligne. Valeur d’index de base zéro de la ligne à un point défini. Renvoie la valeur d’index de base zéro de la ligne au point spécifié par les paramètres x et y. Dans l’exemple suivant, lorsqu’un utilisateur sélectionne une ligne dans le sonnet de Shakespeare, cette ligne est copiée (ajoutée) dans un nouveau champ de texte.

Dans le constructeur, le champ de texte poem est défini pour ne pas aller à la ligne (puisqu’il s’agit d’un poème). La propriété autoSize est également utilisée pour définir le texte de sorte qu’il s’ajuste automatiquement et se redimensionne sous forme de texte justifié à gauche. Le champ de texte poemCopy est placé sous le champ de texte poem. Lorsqu’un utilisateur clique sur une des lignes du poème, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getLineIndexAtPoint() renvoie l’index de la ligne dans laquelle l’utilisateur a cliqué sur la base des coordonnées localX et localY du clic de la souris (comme ici le poème original est adapté à la taille du champ de texte, il n’est pas nécessaire de vérifier la présence d’une erreur de plage (RangeError) renvoyée par la méthode getCharIndexAtPoint()). L’index de la ligne est ensuite utilisé pour obtenir le contenu de la ligne sous forme de chaîne avec la méthode getLineText(), alors ajouté au contenu du champ de texte poemCopy. La copie peut se poursuivre de façon continue mais, après un certain point, le texte sortira de la plage du champ de texte poemCopy affichable.

package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; public class TextField_getLineIndexAtPointExample extends Sprite { private var poem:TextField = new TextField(); private var poemCopy:TextField = new TextField(); public function TextField_getLineIndexAtPointExample() { poem.border = true; poem.autoSize = TextFieldAutoSize.LEFT; poem.x = 10; poem.wordWrap = false; poemCopy.height = 250; poemCopy.width = 270; poemCopy.y = 230; poemCopy.x = 10; poemCopy.background = true; poemCopy.border = true; poemCopy.wordWrap = false; poem.appendText("Let me not to the marriage of true minds\n" + "Admit impediments. love is not love\n" + "Which alters when it alteration finds\n" + "Or bends with the remover to remove:\n" + "O no! it is an ever-fixed mark\n" + "That looks on tempests and is never shaken;\n" + "It is the star to every wandering bark,\n" + "Whose worth's unknown, although his height be taken.\n" + "Love's not Time's fool, though rosy lips and cheeks\n" + "Within his bending sickle's compass come:\n" + "Love alters not with his brief hours and weeks,\n" + "But bears it out even to the edge of doom.\n" + "If this be error and upon me proved,\n" + "I never writ, nor no man ever loved."); poem.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(poem); this.addChild(poemCopy); } private function clickHandler(e:MouseEvent):void { var index:int = poem.getLineIndexAtPoint(e.localX, e.localY); var s:String; s = poem.getLineText(index); poemCopy.appendText(s + "\n"); } } }
getLineIndexOfChar Renvoie la valeur d’index de base zéro de la ligne qui contient le caractère spécifié par le paramètre charIndex.Le caractère d’index spécifié est hors limites. RangeErrorRangeErrorValeur d’index de base zéro de la ligne. intcharIndexintValeur d’index de base zéro du caractère (par exemple, le premier caractère est 0, le deuxième caractère est 1, etc.). Valeur d’index de base zéro de la ligne qui contient le caractère spécifié par le paramètre charIndex. Renvoie la valeur d’index de base zéro de la ligne qui contient le caractère spécifié par le paramètre charIndex. Dans l’exemple suivant, la méthode getLineIndexOfChar() renvoie les numéros de ligne des 100ème et 500ème caractères du champ de texte.

Le champ de texte myTextField est défini pour aller à la ligne et se redimensionner sous forme de texte justifié à gauche. La méthode getLineIndexOfChar() renvoie l’index de la ligne des index des caractères spécifiés (100 et 500). Ces informations sont ensuite ajoutées après le paragraphe. Notez que comme l’index de la ligne commence à 0, l’index de la ligne (index) est augmenté de 1 pour obtenir le numéro de ligne. De même, si l’affichage est redimensionné, le numéro de ligne peut changer mais les informations ici demeureront les mêmes puisque la méthode n’est invoquée qu’une seule fois.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_getLineIndexOfCharExample extends Sprite { public function TextField_getLineIndexOfCharExample() { var myTextField:TextField = new TextField(); myTextField.x = 10; myTextField.y = 10; myTextField.width = 200; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file" + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n"); var index:int = myTextField.getLineIndexOfChar(100); myTextField.appendText("100th character is in line: " + (index + 1) + "\n"); index = myTextField.getLineIndexOfChar(500); myTextField.appendText("500th character is in line: " + (index + 1)); this.addChild(myTextField); } } }
getLineLength Renvoie le nombre de caractères d’une ligne de texte donnée.Le numéro de ligne spécifié est hors limites. RangeErrorRangeErrorNombre de caractères dans la ligne. intlineIndexintNombre de lignes pour lesquelles vous souhaitez connaître la longueur. Renvoie le nombre de caractères d’une ligne de texte donnée. Renvoie le nombre de caractères d’une ligne de texte donnée. Dans l’exemple suivant, une fois que l’utilisateur sélectionne une ligne, la longueur de cette ligne (nombre de caractères) apparaît dans un champ de texte distinct.

Sous forme d’illustration, le champ de texte myTextField, qui affiche le texte à compter, est défini sur INPUT, ce qui signifie que les utilisateurs peuvent modifier les lignes ou ajouter des lignes entre les lignes ou à la fin (une ligne vide est créée à l’aide du saut de ligne (\n) à la fin de la dernière ligne). Le champ de texte countLines, dans lequel apparaît le résultat du comptage de la longueur de ligne, est défini au-dessous du champ de texte myTextField et son texte n’est pas sélectionnable. Lorsque l’utilisateur clique sur une ligne du champ de texte myTextField, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getLineIndexAtPoint() renvoie l’index de la ligne dans laquelle l’utilisateur a cliqué en utilisant les coordonnées localX et localY du clic de la souris. L’instruction if vérifie si l’utilisateur a cliqué sur un caractère. Dans l’affirmative, la méthode getLineLength(), à l’aide de l’index de la ligne, renvoie le nombre de caractères présents dans la ligne. Notez que les lignes vides placées entre les lignes incluent le second saut de ligne (\n) et présente un compte de 1 caractère, alors que le compte de la ligne située après la dernière ligne est de 0. Les espaces comptent également pour un caractère. Les utilisateurs peuvent écrire une nouvelle ligne ou modifier une ligne et obtenir le compte de caractères de la ligne en cliquant sur celle-ci. Si le renvoi à la ligne est utilisé et que l’écran est redimensionné, l’index de la ligne peut changer.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.events.Event; import flash.events.MouseEvent; public class TextField_getLineLengthExample extends Sprite { private var myTextField:TextField = new TextField(); private var countLines:TextField = new TextField(); public function TextField_getLineLengthExample() { myTextField.x = 10; myTextField.y = 10; myTextField.width = 350; myTextField.height = 150; myTextField.background = true; myTextField.border = true; myTextField.type = TextFieldType.INPUT; myTextField.appendText("Click on the lines to count its number of characters:\n\n"); myTextField.appendText("This is a short line.\n"); myTextField.appendText("This is a longer line than the last line.\n\n"); myTextField.appendText("This one is even longer than the one before. It has two sentences.\n"); this.addChild(myTextField); countLines.border = true; countLines.x = 10; countLines.y = 180; countLines.height = 30; countLines.width = 200; countLines.background = true; countLines.selectable = false; this.addChild(countLines); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(e:MouseEvent):void { var index:int = myTextField.getLineIndexAtPoint(e.localX, e.localY); if (index != -1) { var lenght:int = myTextField.getLineLength(index); countLines.text = "Number of characters in the line is: " + lenght.toString(); } } } }
getLineMetrics Renvoie les informations métriques relatives à une ligne de texte donnée.Le numéro de ligne spécifié est hors limites. RangeErrorRangeErrorUn objet TextLineMetrics. flash.text:TextLineMetricslineIndexintNombre de lignes pour lesquelles vous désirez des informations métriques. Renvoie les informations métriques relatives à une ligne de texte donnée. Renvoie les informations métriques relatives à une ligne de texte donnée. L’exemple suivant présente des valeurs de mesures de ligne pour deux lignes de texte mises en forme différemment.

Le texte ajouté correspond à deux lignes à partir de Song of Myself de Walt Whitman. Un nouvel objet TextFormat (newFormat) est utilisé pour définir le format de la seconde ligne. La première ligne gère le format par défaut. La méthode getLineMetrics() renvoie un objet TextLineMetrics pour une ligne spécifique (l’index de la ligne commence à 0). Via les objets TextLineMetrics metrics1 et metrics2 des lignes un et deux, respectivement, les valeurs ascendante, descendante, de hauteur et de poids de la ligne sont récupérées et affichées. Les nombres qui en résultent sont convertis en chaînes mais ne sont pas arrondis. Notez que cette valeur est liée à la ligne et non pas à un caractère spécifique. Elle reflète la plage de caractères d’une ligne. Par exemple, si une ligne présente des caractères différents avec des formats de hauteur différents, le caractère présentant la hauteur la plus élevée détermine la valeur. Cela signifie également que lorsque le format du caractère est modifié, certaines valeurs de mesures peuvent également changer.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextLineMetrics; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.TextFormat; public class TextField_getLineMetricsExample extends Sprite { public function TextField_getLineMetricsExample() { var myTextField:TextField = new TextField(); var newFormat:TextFormat = new TextFormat(); myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.wordWrap = false; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.appendText("A child said What is the grass? fetching it to me with full hands;\n"); myTextField.appendText("How could I answer the child? I do not know what it is any more than he.\n\n"); newFormat.size = 14; newFormat.font = "Arial"; newFormat.italic = true; myTextField.setTextFormat(newFormat, 67, 139); var metrics1:TextLineMetrics = myTextField.getLineMetrics(0); myTextField.appendText("Metrics ascent for the line 1 is: " + metrics1.ascent.toString() + "\n"); myTextField.appendText("Metrics descent is: " + metrics1.descent.toString() + "\n"); myTextField.appendText("Metrics height is: " + metrics1.height.toString() + "\n"); myTextField.appendText("Metrics width is: " + metrics1.width.toString() + "\n\n"); var metrics2:TextLineMetrics = myTextField.getLineMetrics(1); myTextField.appendText("Metrics ascent for the line 2 is: " + metrics2.ascent.toString() + "\n"); myTextField.appendText("Metrics descent is: " + metrics2.descent.toString() + "\n"); myTextField.appendText("Metrics height is: " + metrics2.height.toString() + "\n"); myTextField.appendText("Metrics width is: " + metrics2.width.toString() + "\n"); addChild(myTextField); } } }
flash.text.TextLineMetricsflash.text.TextLineMetrics
getLineOffset Renvoie le caractère d’index du premier caractère de la ligne spécifiée par le paramètre lineIndex.Le numéro de ligne spécifié est hors limites. RangeErrorRangeErrorValeur d’index de base zéro du premier caractère de la ligne. intlineIndexintValeur d’index de base zéro de la ligne (par exemple, la première ligne est 0, la deuxième ligne est 1, etc.). Valeur d’index de base zéro du premier caractère de la ligne. Renvoie l’index du premier caractère de la ligne spécifiée par le paramètre lineIndex. L’exemple suivant recherche le premier caractère de la ligne 4, qui change si l’écran (et le champ de texte) est redimensionné.

Le champ de texte myTextField est défini sur un renvoi à la ligne. Le champ de texte countField affichera le premier caractère de la ligne 4. Lorsque l’utilisateur clique sur le champ de texte myTextField, la méthode clickHandler() est invoquée.

Dans la méthode clickHandler(), la méthode getLineOffset() renvoie l’index du premier caractère dans l’index de ligne 3, correspondant à la quatrième ligne du texte (l’index de la première ligne est 0). La méthode charAt() est utilisée pour obtenir le caractère à l’aide de l’index du premier caractère de la quatrième ligne. Le contenu du champ de texte countField est actualisé sur la base de ces informations via la propriété text du champ de texte countField. L’utilisation de la propriété countField.text signifie qu’après chaque clic le contenu du champ de texte countField est remplacé. Si l’utilisateur redimensionne l’affichage, le contenu est renvoyé à la ligne et le premier caractère de la ligne 4 peut changer. En cas de nouveau clic sur le champ myTextField, le contenu du champ de texte countField est mis à jour avec le nouveau premier caractère de la quatrième ligne.

package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_getLineOffsetExample extends Sprite { private var myTextField:TextField = new TextField(); private var countField:TextField = new TextField(); public function TextField_getLineOffsetExample() { myTextField.x = 10; myTextField.y = 10; myTextField.width = 150; myTextField.height = 300; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; countField.height = 20; countField.width = 200; countField.x = 10; countField.y = 320; countField.selectable = false; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file " + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript."); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); this.addChild(countField); } private function clickHandler(e:MouseEvent):void { var c:String; var index:int; index = myTextField.getLineOffset(3); c = myTextField.text.charAt(index); countField.text = "The first character of line 4 is: " + c; } } }
getLineText Renvoie le texte de la ligne spécifiée par le paramètre lineIndex.Le numéro de ligne spécifié est hors limites. RangeErrorRangeErrorChaîne de texte contenue dans la ligne spécifiée. StringlineIndexintValeur d’index de base zéro de la ligne (par exemple, la première ligne est 0, la deuxième ligne est 1, etc.). Chaîne de texte contenue dans la ligne spécifiée. Renvoie le texte de la ligne spécifiée par le paramètre lineIndex. Dans l’exemple suivant, les numéros de ligne de toutes les occurrences du terme « love » utilisées dans le sonnet de Shakespeare sont identifiés et affichés.

Le champ de texte poem est défini pour s’adapter automatiquement au texte et se redimensionner sous forme de texte justifié à gauche. La propriété wordWrap étant définie sur false, les lignes du poème n’iront pas à la ligne, bien qu’avec l’utilisation de la propriété autoSize, cela n’est généralement pas un problème. La boucle for procède à une itération sur les lignes du sonnet via la propriété numLines du champ de texte. La méthode getLineText() renvoie le contenu de la ligne sous forme de chaîne (notez que la propriété numLines renvoie le nombre de lignes en commençant à la ligne 1, alors que pour la méthode getLineText(), le numéro de lignes commence à 0). A l’aide du modèle d’expression standard (/love/i), l’instruction if recherche toute sous-chaîne du mot en majuscule ou en minuscule. Si le modèle est trouvé, la méthode search renvoie l’index de la première sous-chaîne correspondante, ou renvoie -1 dans le cas contraire (s’il n’y a pas de correspondance). Le numéro de ligne ou le terme « love » a été trouvé ((i + 1)) est alors placé dans la chaîne lineResult. La méthode de chaîne convertit l’argument de nombre ((i + 1)) en chaîne tant qu’il y a un autre argument correspondant à une chaîne («   »). Le résultat de lignes de la recherche comprend les lignes présentant les termes « loved » ou « Love’s ». Si la chaîne « Love was found in lines: » a été ajoutée avant la boucle for, le terme « Love » de cette ligne aura également été inclus.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; public class TextField_getLineTextExample extends Sprite { public function TextField_getLineTextExample() { var poem:TextField = new TextField(); var lineResult:String = ""; var pattern:RegExp = /love/i; poem.x = 10; poem.y = 10; poem.background = true; poem.wordWrap = false; poem.autoSize = TextFieldAutoSize.LEFT; poem.text = "Let me not to the marriage of true minds\n" + "Admit impediments. love is not love\n" + "Which alters when it alteration finds\n" + "Or bends with the remover to remove:\n" + "O no! it is an ever-fixed mark\n" + "That looks on tempests and is never shaken;\n" + "It is the star to every wandering bark,\n" + "Whose worth's unknown, although his height be taken.\n" + "Love's not Time's fool, though rosy lips and cheeks\n" + "Within his bending sickle's compass come:\n" + "Love alters not with his brief hours and weeks,\n" + "But bears it out even to the edge of doom.\n" + "If this be error and upon me proved,\n" + "I never writ, nor no man ever loved.\n\n"; for (var i:int = 0; i < poem.numLines; i++) { var s:String = poem.getLineText(i); if(s.search(pattern) != -1) { lineResult += (i + 1) + " "; } } poem.appendText("Love was found in lines: " + lineResult); this.addChild(poem); } } }
getParagraphLength En fonction d’un caractère d’index, renvoie la longueur du paragraphe qui contient le caractère donné.Le caractère d’index spécifié est hors limites. RangeErrorRangeErrorRenvoie le nombre de caractères du paragraphe. intcharIndexintValeur d’index de base zéro du caractère (par exemple, le premier caractère est 0, le deuxième caractère est 1, etc.). Valeur d’index de base zéro du caractère. En fonction d’un caractère d’index, renvoie la longueur du paragraphe qui contient le caractère donné. La longueur est mesurée à partir du premier caractère du paragraphe (tel que renvoyé par getFirstCharInParagraph()) et non pas par rapport à l’index de caractères qui a été transmis. Dans l’exemple suivant, lorsqu’un utilisateur sélectionne un paragraphe, la longueur du paragraphe et le nombre de caractères « s » qu’il contient s’affichent dans un champ de texte distinct.

Le champ de texte myTextField affiche les paragraphes que l’utilisateur sélectionne. Lorsque l’utilisateur clique sur le champ de texte, l’événement MouseEvent.CLICK est distribué et la méthode clickHandler() est appelée. La longueur du paragraphe et le nombre de caractères « s » s’affichent dans le champ de texte countField, placées au-dessous du champ de texte myTextField.

Dans la méthode clickHandler(), la méthode getCharIndexAtPoint() renvoie l’index du caractère à partir des coordonnées localX et localY du clic de la souris. La première instruction if vérifie si l’utilisateur a cliqué sur un caractère. La méthode getFirstCharInParagraph() utilise cet index pour renvoyer l’index du premier caractère du même paragraphe. La longueur du paragraphe renvoyée par la méthode getParagraphLength() est utilisée avec l’index du premier caractère du paragraphe pour déterminer l’index de la fin du paragraphe. Une boucle for procède à une itération sur le paragraphe en recherchant le nombre de caractères « s ».

package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_getParagraphLengthExample extends Sprite { private var myTextField:TextField = new TextField(); private var countField:TextField = new TextField(); public function TextField_getParagraphLengthExample() { myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; myTextField.width = 300; myTextField.height = 280; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file" + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n" + "To create a text field dynamically, use the TextField() constructor.\n\n" + "The methods of the TextField class let you set, select, and manipulate " + "text in a dynamic or input text field that you create during authoring or at runtime."); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); countField.x = 10; countField.y = 300; countField.height = 50; countField.width = 250; countField.background = true; countField.selectable = false; this.addChild(myTextField); this.addChild(countField); } private function clickHandler(e:MouseEvent):void { var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if(index != -1) { var beginParag:int = myTextField.getFirstCharInParagraph(index); var paragLength:int = myTextField.getParagraphLength(index); var endParag:int = beginParag + paragLength; var sCount:uint = 0; for (var i:int = beginParag; i <= endParag; i++) { if ((myTextField.text.charAt(i) == "s") || (myTextField.text.charAt(i) == "S")) { sCount++; } countField.text = "Paragraph length is: " + paragLength.toString() + "\n" + "Number of 's' characters in the paragraph: " + sCount.toString(); } } } } }
flash.text.TextField.getFirstCharInParagraph()
getTextFormat Renvoie un objet TextFormat qui contient des informations de formatage pour la plage de texte délimitée par les paramètres beginIndex et endIndex.La valeur beginIndex ou endIndex est hors limite. RangeErrorRangeErrorObjet TextFormat qui représente les propriétés de mise en forme du texte spécifié. flash.text:TextFormatbeginIndexint-1Facultatif ; un entier qui spécifie le début d’une plage de texte au sein du champ de texte. endIndexint-1Facultatif ; entier qui spécifie la position du premier caractère après la plage de texte souhaitée. Comme prévu, la spécification des valeurs beginIndex et endIndex, entraîne la lecture du texte de beginIndex à endIndex-1. Renvoie un objet TextFormat. Renvoie un objet TextFormat qui contient des informations de formatage pour la plage de texte délimitée par les paramètres beginIndex et endIndex. Seules les propriétés communes à l’ensemble du texte spécifié sont définies dans l’objet TextFormat obtenu. Toute propriété qui est mixed, ce qui signifie qu’elle a différentes valeurs à différents endroits du texte, a la valeur null.

Si vous ne spécifiez pas de valeurs pour ces paramètres, cette méthode s’applique à l’ensemble du texte dans le champ de texte.

Le tableau suivant décrit trois utilisations possibles :

UtilisationDescriptionmy_textField.getTextFormat()Renvoie un objet TextFormat contenant des informations de mise en forme pour l’ensemble du texte d’un champ de texte. Seules les propriétés communes à l’ensemble du texte d’un champ de texte sont définies dans l’objet TextFormat obtenu. Toute propriété qui est mixed, ce qui signifie qu’elle a différentes valeurs à différents endroits du texte, a la valeur null.my_textField.getTextFormat(beginIndex:Number)Renvoie un objet TextFormat contenant une copie du format de texte du caractère à la position beginIndex.my_textField.getTextFormat(beginIndex:Number,endIndex:Number)Renvoie un objet TextFormat contenant des informations de mise en forme pour la plage de texte de beginIndex à endIndex-1. Seules les propriétés communes à l’ensemble du texte de la plage spécifiée sont définies dans l’objet TextFormat obtenu. Toute propriété qui est mixte (c.-à-d. a différentes valeurs à différents endroits de la plage) a sa valeur définie sur null.
Consultez l’exemple de la méthode getFirstCharInParagraph() ou setTextFormat() pour une illustration de l’utilisation de la méthode getTextFormat().
flash.text.TextFormatflash.text.TextField.defaultTextFormatflash.text.TextField.setTextFormat()
isFontCompatible Renvoie true si une police incorporée est disponible avec les paramètres fontName et fontStyle spécifiés, où Font.fontType est flash.text.FontType.EMBEDDED.Le paramètre fontStyle spécifié n’appartient pas à flash.text.FontStyle. ArgumentErrorArgumentErrortrue si une police incorporée compatible est disponible, sinon false. BooleanfontNameStringNom de la police incorporée à vérifier. fontStyleStringSpécifie le style de police à vérifier. Utilisez flash.text.FontStyle. Renvoie true si une police incorporée est disponible avec les paramètres fontName et fontStyle spécifiés, où Font.fontType est flash.text.FontType.EMBEDDED. Depuis Flash Player 10, un fichier SWF peut contenir deux sortes de polices incorporées. Les polices incorporées normales ne sont utilisées qu’avec des objets TextField. Les polices incorporées CFF ne sont utilisées qu’avec les classes flash.text.engine. Les deux types sont différenciés par la propriété fontType de la classe Font, renvoyée par la fonction enumerateFonts().

Un objet TextField ne peut pas utiliser de police de type EMBEDDED_CFF. Si embedFonts est défini sur true et que la seule police disponible au moment de l’exécution avec le nom et le style spécifiés est de type EMBEDDED_CFF, Flash Player ne peut pas restituer le texte, comme si aucune police n’était disponible avec ce nom et ce style.

Si les deux polices EMBEDDED et EMBEDDED_CFF sont disponibles avec le même nom et le même style, la police EMBEDDED est sélectionnée et le texte est restitué avec la police EMBEDDED.

flash.text.engine.FontDescription.fontLookupflash.text.engine.TextBlock.createTextLine()flash.text.FontType.EMBEDDED_CFF
replaceSelectedText Remplace la sélection actuelle par le contenu du paramètre value.Cette méthode ne peut pas être appliquée à un champ de texte associé à une feuille de style. ErrorErrorvalueStringLa chaîne devant remplacer le texte sélectionné. Remplace la sélection actuelle par le contenu du paramètre value. Remplace la sélection actuelle par le contenu du paramètre value. Le texte est inséré au niveau de la sélection actuelle, à l’aide du format de caractère par défaut actuel et du format de paragraphe par défaut. Le texte n’est pas traité en tant que texte HTML.

Vous pouvez utiliser la méthode replaceSelectedText() pour insérer et effacer du texte sans perturber le formatage des caractères et de paragraphe du reste du texte.

Remarque : cette méthode ne fonctionne pas lorsqu’une feuille de style est appliquée au champ de texte.

Dans l’exemple suivant, l’utilisateur efface une partie du texte dans le premier champ de texte en le sélectionnant et remplace un texte sélectionné dans le second champ de texte par la chaîne « NEW TEXT ».

Deux objets TextField différents sont créés et des écouteurs d’événement sont ajoutés pour les événements MouseEvent.MOUSE_UP. Un relâchement du bouton de la souris survient lorsque l’utilisateur libère le bouton de la souris, événement se produisant généralement après la sélection d’un texte. Notez que le paramètre par défaut d’un champ de texte est que son texte soit sélectionné.

Dans la méthode mouseHandler1(), lorsqu’un utilisateur libère le bouton de la souris dans le champ de texte myTextField1, le texte est effacé et remplacé par une chaîne vide. Cela peut continuer jusqu’à ce que tout le texte soit effacé. Dans la méthode mouseHandler2(), lorsqu’un utilisateur sélectionne du texte dans le champ de texte myTextField2, les propriétés selectionBeginIndex et selectionEndIndex sont vérifiées pour voir si des caractères ont été sélectionnés (les propriétés selectionBeginIndex et selectionEndIndex n’ont pas la même valeur si du texte a été sélectionné). Le texte sélectionné est alors remplacé par la chaîne « NEW TEXT ». Cela peut continuer jusqu’à ce que le texte original du second champ de texte soit remplacé par la chaîne « NEW TEXT ».

package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_replaceSelectedTextExample extends Sprite { private var myTextField1:TextField = new TextField(); private var myTextField2:TextField = new TextField(); public function TextField_replaceSelectedTextExample() { myTextField1.x = 10; myTextField1.width = 300; myTextField1.height = 50; myTextField1.background = true; myTextField1.border = true; myTextField1.text = "Select the text you want to remove from the line."; myTextField2.x = 10; myTextField2.y = 60; myTextField2.width = 300; myTextField2.height = 50; myTextField2.background = true; myTextField2.border = true; myTextField2.text = "Select the text you want to replace with NEW TEXT."; myTextField1.addEventListener(MouseEvent.MOUSE_UP, mouseHandler1); myTextField2.addEventListener(MouseEvent.MOUSE_UP, mouseHandler2); this.addChild(myTextField1); this.addChild(myTextField2); } private function mouseHandler1(e:MouseEvent):void { myTextField1.replaceSelectedText(""); } private function mouseHandler2(e:MouseEvent):void { if(myTextField2.selectionBeginIndex != myTextField2.selectionEndIndex) { myTextField2.replaceSelectedText("NEW TEXT"); } } } }
flash.display.Stage.focus
replaceText Remplace la plage de caractères que les paramètres beginIndex et endIndex spécifient par le contenu du paramètre newText.Cette méthode ne peut pas être appliquée à un champ de texte associé à une feuille de style. ErrorErrorbeginIndexintValeur d’index de base zéro pour la position de début de la plage de remplacement. endIndexintPosition d’index de base zéro du premier caractère après la plage de texte désirée. newTextStringTexte à utiliser pour remplacer la plage de caractères spécifiée. Remplace une plage de caractères. Remplace la plage de caractères que les paramètres beginIndex et endIndex spécifient par le contenu du paramètre newText. Comme prévu, le texte situé entre de beginIndex et endIndex-1 est remplacé.

Remarque : cette méthode ne fonctionne pas lorsqu’une feuille de style est appliquée au champ de texte.

L’exemple suivant utilise la méthode replaceText() pour supprimer, remplacer et insérer du texte dans un champ de texte.

Le champ de texte outputText est défini pour s’adapter automatiquement au texte et se redimensionner sous forme de texte justifié à gauche. Avec le premier appel de la méthode replaceText(), la première ligne (« This is the wrong heading ») est remplacée par « THIS IS THE HEADING FOR EVERYONE ». Avec le second appel de la méthode, le texte « CORRECT » est inséré entre « THE » et « HEADING ». Avec le troisième appel de la méthode, les mots « FOR EVERYONE » sont supprimés. Notez qu’à chaque appel de la méthode appendText(), les index de début et de fin du texte en cours sont modifiés. Ici, seul le texte final (après modification) apparaît.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_replaceTextExample extends Sprite { public function TextField_replaceTextExample() { var outputText:TextField = new TextField(); outputText.x = 10; outputText.y = 10; outputText.background = true; outputText.autoSize = TextFieldAutoSize.LEFT; outputText.appendText("This is the wrong heading"); outputText.appendText("\n\n"); outputText.appendText("This is the body of the text."); outputText.replaceText(0, 25, "THIS IS THE HEADING FOR EVERYONE"); outputText.replaceText(12, 12, "CORRECT "); outputText.replaceText(27, 40, ""); this.addChild(outputText); } } }
setSelection Définit comme sélectionné le texte désigné par les valeurs d’index des premier et dernier caractères, spécifiés par les paramètres beginIndex et endIndex.beginIndexintValeur d’index de base zéro du premier caractère de la sélection (par exemple, le premier caractère est 0, le deuxième est 1, etc.). endIndexintValeur d’index basée sur zéro du dernier caractère de la sélection. Définit une nouvelle sélection de texte. Définit comme sélectionné le texte désigné par les valeurs d’index des premier et dernier caractères, spécifiés par les paramètres beginIndex et endIndex. Si les valeurs des deux paramètres sont identiques, cette méthode définit le point d’insertion, comme si vous définissiez la propriété caretIndex. Dans l’exemple suivant, une plage de texte prédéfinie est sélectionnée lorsque l’utilisateur clique en un endroit quelconque du champ de texte (mettant en surbrillance les mots « TEXT IN ALL CAPS »).

Deux écouteurs d’événement pour le champ de texte myTextField répondent aux clics de souris et aux relâchements du bouton de la souris par l’utilisateur. Un relâchement du bouton de la souris survient lorsque l’utilisateur libère le bouton de la souris, événement se produisant généralement après la sélection d’un texte. Notez que le paramètre par défaut d’un champ de texte est que son texte soit sélectionné. Lorsque l’utilisateur clique dans le texte, la méthode clickHandler() est invoquée. Lorsque du texte est sélectionné et que le bouton de la souris est relâché, la méthode mouseUpHandler() est invoquée.

Dans les deux méthodes clickHandler() et mouseUpHandler(), la méthode setSelection() définit uniquement la sélection des caractères situés entre les index 54 et 70 (TEXT IN ALL CAPS).

package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_setSelectionExample extends Sprite { private var myTextField:TextField = new TextField(); public function TextField_setSelectionExample() { myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS is selected."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); myTextField.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); this.addChild(myTextField); } private function clickHandler(event:MouseEvent):void { myTextField.setSelection(54, 70); } private function mouseUpHandler(event:MouseEvent):void { myTextField.setSelection(54, 70); } } }
selectableselectionBeginIndexselectionEndIndexcaretIndex
setTextFormat Applique à la partie sélectionnée d’un champ de texte le format spécifié par le paramètre format.Cette méthode ne peut pas être appliquée à un champ de texte associé à une feuille de style. ErrorErrorLa valeur beginIndex ou endIndex est hors limite. RangeErrorRangeErrorformatflash.text:TextFormatUn objet TextFormat qui contient des informations de format de caractères et de paragraphes. beginIndexint-1Facultatif ; entier qui spécifie la position d’index de base zéro indiquant le premier caractère de la plage de texte désirée. endIndexint-1Facultatif ; entier qui spécifie le premier caractère après la plage de texte désirée. Si vous spécifiez les valeurs beginIndex et endIndex, le texte situé entre beginIndex et endIndex-1 est mis à jour.

UtilisationDescriptionmy_textField.setTextFormat(textFormat:TextFormat)Applique les propriétés de textFormat à l’ensemble du texte dans le champ de texte.my_textField.setTextFormat(textFormat:TextFormat, beginIndex:int)Applique les propriétés de textFormat au texte qui commence à la position beginIndex.my_textField.setTextFormat(textFormat:TextFormat, beginIndex:int, endIndex:int)Applique les propriétés du paramètre textFormat à la plage de texte de la position beginIndex à la position endIndex-1.

Notez que tout texte inséré manuellement par l’utilisateur, ou remplacé par la méthode replaceSelectedText(), reçoit le formatage par défaut pour un nouveau texte, et non celui spécifié pour le point d’insertion du texte. Pour définir le formatage par défaut du nouveau texte du champ, appliquez la propriété defaultTextFormat.

Applique du formatage au texte.
Applique à la partie sélectionnée d’un champ de texte le format spécifié par le paramètre format. La valeur de format doit être un objet TextFormat qui spécifie les modifications à apporter au formatage du texte. Seules les propriétés non null de format sont appliquées au champ de texte. Toute propriété de format qui est définie sur null n’est pas appliquée. Par défaut, toutes les propriétés d’un nouvel objet TextFormat créé sont définies sur null.

Remarque : cette méthode ne fonctionne pas lorsqu’une feuille de style est appliquée au champ de texte.

La méthode setTextFormat() modifie le formatage de texte appliquée à une plage de caractères ou à l’ensemble du corps de texte d’un champ de texte. Pour appliquer les propriétés de format à l’ensemble du texte du champ, ne spécifiez pas de valeur pour beginIndex et endIndex. Pour appliquer les propriétés de format à une plage de texte, spécifiez les valeurs des paramètres beginIndex et endIndex. Vous pouvez utiliser la propriété length pour déterminer les valeurs d’index.

Les deux types d’information de formatage d’un objet TextFormat correspondent au formatage au niveau des caractères et au formatage au niveau du paragraphe. Chaque caractère d’un champ de texte peut avoir ses propres paramètres de mise en forme de caractère, tels que le nom et la taille de la police, gras et italique.

Pour les paragraphes, le premier caractère du paragraphe est analysé pour les paramètres de mise en forme du paragraphe entier. La marge gauche, la marge droite et le retrait sont des exemples de paramètres de mise en forme de paragraphe.

Tout texte inséré manuellement par l’utilisateur, ou remplacé par la méthode replaceSelectedText(), reçoit le formatage par défaut pour un nouveau texte, et non celui spécifié pour le point d’insertion du texte. Pour définir le formatage par défaut du nouveau texte, utilisez defaultTextFormat.

Dans l’exemple suivant, lorsque l’utilisateur clique sur le texte, le format d’une plage de texte définie, « TEXT IN ALL CAPS », bascule entre le format de texte par défaut et le nouveau format.

Un écouteur d’événement pour le champ de texte myTextField est ajouté pour répondre aux clics de souris en invoquant la méthode clickHandler(). Dans la méthode clickHandler(), la méthode getTextFormat() renvoie le format en cours d’un caractère (index 55) de la plage de texte prévue, qui est alors placée dans l’objet TextFormat currentTextFormat. L’instructionif vérifie le format de texte currentTextFormat pour voir si le caractère de la plage utilise le nouveau format (la police est définie sur 18). Si ce n’est pas le cas, le nouveau format définit la taille de police sur 18 points, la couleur sur rouge et souligne et met en italique la plage de texte située entre 54 et 70 (TEXT IN ALL CAPS). Si le caractère de la plage utilise le nouveau format, le format de la plage est réinitialisé sur le format par défaut (original) du champ de texte.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; public class TextField_setTextFormatExample extends Sprite { private var myTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextField_setTextFormatExample() { myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.selectable = false; myTextField.background = true; myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS changes format."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); newFormat.color = 0xFF0000; newFormat.size = 18; newFormat.underline = true; newFormat.italic = true; this.addChild(myTextField); } private function clickHandler(event:MouseEvent):void { var currentTextFormat:TextFormat = myTextField.getTextFormat(55); if(currentTextFormat.size != 18) { myTextField.setTextFormat(newFormat, 54, 70); } else { myTextField.setTextFormat(myTextField.defaultTextFormat); } } } }
flash.text.TextFormatflash.text.TextField.defaultTextFormat
alwaysShowSelection Lorsque défini sur true et si le champ de texte n’a pas le focus, Flash Player sélectionne le contenu du champ de texte en gris.Booleanfalse Lorsque défini sur true et si le champ de texte n’a pas le focus, Flash Player sélectionne le contenu du champ de texte en gris. Lorsque défini sur false et si le champ de texte n’a pas le focus, Flash Player ne sélectionne pas le contenu du champ de texte. Compile et exécute le fichier suivant. Lorsque vous exécutez le fichier, faites glisser pour sélectionner le texte dans chacun des deux champs de texte et remarquez les différentes sélections obtenues lorsque vous sélectionnez du texte dans les deux champs (changement de focus) : package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_alwaysShowSelection extends Sprite { public function TextField_alwaysShowSelection() { var label1:TextField = createCustomTextField(0, 20, 200, 20); label1.text = "This text is selected."; label1.setSelection(0, 9); label1.alwaysShowSelection = true; var label2:TextField = createCustomTextField(0, 50, 200, 20); label2.text = "Drag to select some of this text."; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } } flash.display.Stage.focusantiAliasType Type d’anticrènelage appliqué à ce champ de texte.StringType d’anticrènelage appliqué. Type d’anticrènelage appliqué à ce champ de texte. Utilisez les constantes flash.text.AntiAliasType pour cette propriété. Vous ne pouvez contrôler cette définition que si la police est intégrée (avec la propriété embedFonts définie sur true). Le paramètre par défaut est flash.text.AntiAliasType.NORMAL.

Pour définir les valeurs pour cette propriété, utilisez les valeurs de chaîne suivantes :

Valeur de chaîneDescriptionflash.text.AntiAliasType.NORMALApplique un anticrènelage ordinaire au texte. Cette valeur correspond au type d’anticrènelage utilisé par Flash Player 7 et les versions précédentes.flash.text.AntiAliasType.ADVANCEDApplique un anticrènelage avancé qui rend le texte plus lisible (cette fonctionnalité est devenue disponible dans Flash Player 8). Anticrènelage avancé permet d’obtenir une qualité du rendu des polices de petite taille. Cette option convient particulièrement aux applications comportant beaucoup de texte de petite taille. L’anticrènelage avancé n’est pas recommandé pour les polices de plus de 48 points.
flash.text.AntiAliasTypeflash.text.TextField.embedFonts
autoSize Commande le dimensionnement et l’alignement automatiques des champs de texte.StringLe paramètre autoSize spécifié n’appartient pas à flash.text.TextFieldAutoSize. ArgumentErrorArgumentErrorCommande le dimensionnement et l’alignement automatiques des champs de texte. Commande le dimensionnement et l’alignement automatiques des champs de texte. Les valeurs acceptables pour les constantes TextFieldAutoSize sont : TextFieldAutoSize.NONE (par défaut), TextFieldAutoSize.LEFT, TextFieldAutoSize.RIGHT et TextFieldAutoSize.CENTER.

Si autoSize est défini sur TextFieldAutoSize.NONE (par défaut), aucun redimensionnement n’a lieu.

Si autoSize est défini sur TextFieldAutoSize.LEFT, le texte est alors traité comme du texte cadré à gauche, ce qui signifie que la marge gauche du champ de texte reste fixe et tout redimensionnement d’un champ de texte sur une seule ligne se fera dans la marge de droite. Si le texte contient un saut de ligne (par exemple "\n" ou "\r") le bas est alors également redimensionné pour s’adapter à la ligne suivante du texte. Si wordWrap est également défini sur true, seul le bas du champ de texte est redimensionné et le côté droit reste fixe.

Si autoSize est défini sur TextFieldAutoSize.RIGHT, le texte est alors traité comme du texte cadré à droite, ce qui signifie que la marge droite du champ de texte reste fixe et tout redimensionnement d’un champ de texte sur une seule ligne se fera dans la marge de gauche. Si le texte contient un saut de ligne (par exemple "\n" ou "\r")) le bas est alors également redimensionné pour s’adapter à la ligne suivante du texte. Si wordWrap est également défini sur true, seul le bas du champ de texte est redimensionné et le côté gauche reste fixe.

Si autoSize est défini sur TextFieldAutoSize.CENTER, le texte est traité comme du texte centré, ce qui signifie que tout redimensionnement d’un champ de texte sur une seule ligne est uniformément réparti sur les marges droite et gauche. Si le texte contient un saut de ligne (par exemple "\n" ou "\r") le bas est alors également redimensionné pour s’adapter à la ligne suivante du texte. Si wordWrap est également défini sur true, seul le bas du champ de texte est redimensionné et les côtés gauche et droit restent fixe.

flash.text.TextFieldAutoSizeflash.text.TextField.autoSizeflash.text.TextField.wordWrap
backgroundColor Couleur de l’arrière-plan du champ de texte.uint Couleur de l’arrière-plan du champ de texte. La valeur par défaut est 0xFFFFFF (blanc). Cette propriété peut être extraite ou définie, même s’il n’y a pas encore d’arrière-plan, mais la couleur n’est visible que si la propriété background du champ de texte est définie sur true. flash.text.TextField.backgroundbackground Spécifie si le champ de texte a un remplissage d’arrière-plan.Booleanfalse Spécifie si le champ de texte a un remplissage d’arrière-plan. Si true, le champ de texte a un remplissage d’arrière-plan. Si false, le champ de texte n’a pas de remplissage d’arrière-plan. La propriété backgroundColor permet de définir la couleur d’arrière-plan d’un champ de texte. flash.text.TextField.backgroundColorborderColor Couleur de la bordure du champ de texte.uint Couleur de la bordure du champ de texte. La valeur par défaut est 0x000000 (noir). Cette propriété peut être extraite ou définie, même s’il n’y a pas encore de bordure, mais la couleur n’est visible que si la propriété border du champ de texte est définie sur true. flash.text.TextField.borderborder Spécifie si le champ de texte comporte une bordure.Booleanfalse Spécifie si le champ de texte comporte une bordure. Si true, le champ de texte comporte une bordure. Si false, le champ de texte ne comporte pas de bordure. La propriété borderColor permet de définir la couleur de la bordure. flash.text.TextField.borderColorbottomScrollV Entier (index basé sur 1) qui indique la ligne la plus basse visible dans le champ de texte spécifié.intUn entier qui correspond à la ligne inférieure d’un champ de texte. Entier (index basé sur 1) qui indique la ligne la plus basse visible dans le champ de texte spécifié. Considérez le champ de texte comme une fenêtre sur un bloc de texte. La propriété scrollV est l’index basé sur 1 de la ligne la plus haute et visible dans la fenêtre.

Tout le texte situé entre les lignes désignées par scrollV et bottomScrollV est visible dans le champ de texte.

flash.text.TextField.scrollV
caretIndex L’index de la position du point d’insertion (caret).intRenvoie la valeur d’index de base zéro du point d’insertion clignotant. L’index de la position du point d’insertion (caret). Si aucun point d’insertion ne s’affiche, cette valeur correspond à la position du point d’insertion en cas de restauration du focus sur le champ (il s’agit généralement du dernier emplacement du point d’insertion, ou 0 si le champ n’a pas eu le focus).

Les index de plages de sélection sont de base zéro (par exemple, la première position est 0, la deuxième position est 1, etc.).

Dans cet exemple, une occurrence TextField est créée et remplie avec du texte. Un écouteur d’événement est affecté de façon à ce que l’utilisateur clique sur TextField, la méthode printCursorPosition est appelée. Dans ce cas, les valeurs des propriétés caretIndex, selectionBeginIndex et selectionEndIndex sont renvoyées.

Exécutez cet exemple, puis essayez de cliquer dans TextField pour sélectionner le texte. Cliquez ensuite dans le champ sans sélectionner de texte. Lorsque vous cliquez sur le texte sans faire de sélection, la propriété caretIndex indique l’emplacement du point d’insertion et les propriétés selectionBeginIndex et selectionEndIndex sont égales à la valeur de la propriété caretIndex.

package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
selectableselectionBeginIndexselectionEndIndex
condenseWhite Valeur booléenne qui indique si l’espace blanc supplémentaire (espaces, saut de ligne, etc.) est supprimé dans un champ de texte HTML.BooleanValeur booléenne qui spécifie si l’espace blanc supplémentaire est supprimé dans un champ contenant du texte HTML. Valeur booléenne qui indique si l’espace blanc supplémentaire (espaces, saut de ligne, etc.) est supprimé dans un champ de texte HTML. La valeur par défaut est false. La propriété condenseWhite n’affecte que le texte défini avec la propriété htmlText, pas la propriété text. Si vous définissez du texte avec la propriété text, la propriété condenseWhite est ignorée.

Si la propriété condenseWhite est définie sur true, utilisez les commandes HTML classiques, telles que <BR> et <P>, pour placer des sauts de ligne dans le champ de texte.

Définissez la propriété condenseWhite avant de définir la propriété htmlText.

L’exemple suivant révèle la différence entre la définition du paramètre condenseWhite sur false et sa définition sur true : package { import flash.display.Sprite; import flash.text.TextField; public class TextField_condenseWhite extends Sprite { public function TextField_condenseWhite() { var tf1:TextField = createCustomTextField(0, 0, 200, 50); tf1.condenseWhite = false; tf1.htmlText = "keep on\n\ttruckin'"; var tf2:TextField = createCustomTextField(0, 120, 200, 50); tf2.condenseWhite = true; tf2.htmlText = "keep on\n\ttruckin'"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; addChild(result); return result; } } }
flash.text.TextField.htmlText
defaultTextFormat Spécifie le format appliqué au texte qui vient d’être inséré, notamment au texte saisi par un utilisateur ou inséré à l’aide de la méthode replaceSelectedText().flash.text:TextFormatCette méthode ne peut pas être appliquée à un champ de texte associé à une feuille de style. ErrorErrorSpécifie le format du texte qui vient d’être inséré. Spécifie le format appliqué au texte qui vient d’être inséré, notamment au texte saisi par un utilisateur ou inséré à l’aide de la méthode replaceSelectedText().

Remarque : lorsque vous sélectionnez des caractères en vue de les remplacer à l’aide des méthodes setSelection() et replaceSelectedText(), la propriété defaultTextFormat est appliquée uniquement si la totalité du texte (y compris le dernier caractère) a été sélectionnée. Voici un exemple :

     var my_txt:TextField new TextField();
     my_txt.text = "Flash Macintosh version";
     var my_fmt:TextFormat = new TextFormat();
     my_fmt.color = 0xFF0000;
     my_txt.defaultTextFormat = my_fmt;
     my_txt.setSelection(6,15); // partial text selected - defaultTextFormat not applied
     my_txt.setSelection(6,23); // text selected to end - defaultTextFormat applied
     my_txt.replaceSelectedText("Windows version");
     

Lorsque vous accédez à la propriété defaultTextFormat, l’objet TextFormat renvoyé voit toutes ses propriétés définies. Aucune propriété n’a la valeur null.

Remarque : vous ne pouvez pas définir cette propriété lorsqu’une feuille de style est appliquée au champ de texte.

flash.text.TextField.replaceSelectedText()flash.text.TextField.getTextFormat()flash.text.TextField.setTextFormat()
displayAsPassword Indique si le champ de texte est un champ de texte de mot de passe.Booleanfalse Indique si les caractères saisis sont masqués. Indique si le champ de texte est un champ de texte de mot de passe. Si la valeur de cette propriété est true, le champ de texte est traité en tant que mot de passe et masque les caractères d’entrée en utilisant les astérisques à la place des caractères. Si false, le champ de texte n’est pas traité comme un mot de passe. Lorsque le mode mot de passe est activé, les commandes Couper et Copier et leurs raccourcis clavier ne fonctionnent pas. Ce mécanisme de sécurité empêche un utilisateur malhonnête d’utiliser les raccourcis pour découvrir le mot de passe d’un ordinateur sans surveillance. embedFonts Spécifie si le rendu doit utiliser des polices vectorielles incorporées.Booleanfalse Procède au rendu du champ de texte contenant des polices vectorielles ou de périphérique. Spécifie si le rendu doit utiliser des polices vectorielles incorporées. Si false, Flash Player restitue le champ de texte à l’aide de polices de périphérique.

Si vous définissez la propriété embedFonts sur true pour un champ de texte, vous devez spécifier la police du texte par l’intermédiaire de la propriété font d’un objet TextFormat appliqué au champ de texte. Si la police spécifiée n’est pas intégrée dans le fichier SWF, le texte ne s’affiche pas.

Font.enumerateFonts()
gridFitType Type d’adaptation à la grille appliqué à ce champ de texte.Stringpixel Type d’adaptation à la grille appliqué. Type d’adaptation à la grille appliqué à ce champ de texte. Cette propriété s’applique uniquement si la propriété flash.text.AntiAliasType du champ de texte est définie sur flash.text.AntiAliasType.ADVANCED.

Le type d’adaptation à la grille utilisé détermine si Flash Player force les lignes horizontales et verticales fortes à s’aligner sur une grille de pixels ou sous-pixels, ou pas du tout.

Pour la propriété flash.text.GridFitType, vous pouvez utiliser les valeurs de chaînes suivantes :

Valeur de chaîneDescriptionflash.text.GridFitType.NONENe spécifie pas d’adaptation à la grille. Les lignes horizontales et verticales des glyphes ne sont pas alignées sur la grille de pixels. Ce paramètre est conseillé pour les animations ou les grandes polices.flash.text.GridFitType.PIXELSpécifie que les lignes horizontales et verticales fortes sont adaptées à la grille de pixels. Ce paramètre convient uniquement aux champs de texte alignés à gauche. Pour utiliser ce paramètre, la propriété flash.display.AntiAliasType du champ de texte doit être définie sur flash.text.AntiAliasType.ADVANCED. Ce paramètre rend généralement le texte justifié à gauche plus lisible.flash.text.GridFitType.SUBPIXELSpécifie que les lignes horizontales et verticales fortes sont adaptées à la grille de sous-pixels sur les écrans à cristaux liquides. Pour utiliser ce paramètre, la propriété flash.text.AntiAliasType du champ de texte doit être défini sur flash.text.AntiAliasType.ADVANCED. Le paramètre flash.text.GridFitType.SUBPIXEL est généralement préférable pour le texte dynamique aligné à droite ou centré et permet parfois d’établir un bon compromis entre la qualité d’animation et la qualité du texte.
L’exemple suivant montre trois champs de texte avec des paramètres différents pour la propriété gridFitType. Lorsque vous utilisez cet exemple, notez la différence de netteté des deux premières lignes. Remarquez également l’utilisation optimale de GridFitType.PIXEL pour le texte aligné à gauche et de GridFitType.SUBPIXEL pour le texte aligné à droite. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; public class gridFitTypeExample extends Sprite { public function gridFitTypeExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=12; var tf1:TextField = createCustomTextField(0,0,format1,"NONE",TextFieldAutoSize.LEFT,GridFitType.NONE); var tf2:TextField = createCustomTextField(0,30,format1,"PIXEL",TextFieldAutoSize.LEFT,GridFitType.PIXEL); var tf3:TextField = createCustomTextField(300,60,format1,"SUBPIXEL",TextFieldAutoSize.RIGHT,GridFitType.SUBPIXEL); } private function createCustomTextField(x:Number,y:Number,fm:TextFormat,tl:String,tfs:String,gft:String):TextField { var result:TextField = new TextField(); result.x=x; result.y=y; result.embedFonts=true; result.antiAliasType=AntiAliasType.ADVANCED; result.text="This text uses a gridFitType of " + tl; result.autoSize=tfs; result.gridFitType=gft; result.setTextFormat(fm); addChild(result); return result; } } }
flash.text.GridFitTypeflash.text.TextField.antiAliasTypeflash.text.AntiAliasType
htmlText Contient la représentation HTML du contenu du champ de texte.StringReprésentation HTML du contenu du champ de texte. Contient la représentation HTML du contenu du champ de texte.

Flash Player prend en charge les balises HTML suivantes :

Balise Description Balise d’ancrage La balise <a> crée un lien hypertexte et prend en charge les attributs suivants :
  • target : Désigne le nom de la fenêtre cible dans laquelle vous chargez la page. Les options incluent _self, _blank, _parent et _top. L’option _selfspécifie l’image active dans la fenêtre actuelle, _blank spécifie une nouvelle fenêtre, _parent spécifie le parent de l’image active et _top spécifie l’image de plus haut niveau dans la fenêtre active.
  • href : spécifie une URL ou un événement link ActionScript. L’URL peut être absolue ou relative à l’emplacement du fichier SWF qui charge la page. Par exemple, l’URL http://www.adobe.com constitue une référence absolue, alors que /index.html est une référence relative. Les URL absolues doivent être précédées du préfixe http:// ; dans le cas contraire, Flash ou AIR les considère comme des URL relatives. Vous pouvez utiliser l’événement link pour que le lien exécute une fonction ActionScript dans un fichier SWF au lieu d’ouvrir une URL. Pour spécifier un événement link, utilisez le modèle d’événement plutôt que le modèle http dans votre attribut href. href="event:myText" au lieu de href="http://myURL" en est un exemple ; lorsque l’utilisateur clique sur un lien hypertexte contenant le modèle d’événement, le champ de texte distribue un TextEvent link avec sa propriété text définie sur "myText". Vous pouvez alors créer une fonction ActionScript qui s’exécute chaque fois que le lien TextEvent est distribué. Vous pouvez également définir des styles a:link, a:hover et a:active pour les balises d’ancrage en utilisant les feuilles de style.
Balise Bold La balise <b> met le texte en gras. Des caractères en gras doivent être disponibles dans la police utilisée. Balise Break La balise <br> introduit un saut de ligne dans le champ de texte. Spécifie que le champ de texte doit être multiligne pour utiliser cette balise. Balise Font La balise <font> spécifie une police ou une liste de polices pour afficher le texte. La balise font prend en charge les attributs suivants :
  • color : Seules les valeurs de couleur hexadécimales (#FFFFFF) sont prises en charge.
  • face : Désigne le nom de la police à utiliser. Comme indiqué dans l’exemple suivant, vous pouvez spécifier des noms de police séparés par des virgules, auquel cas Flash Player sélectionne la première balise disponible. Si la police spécifiée n’est pas installée sur le système informatique local ou si elle n’est pas intégrée dans le fichier SWF, Flash Player sélectionne une police de remplacement.
  • size : Désigne la taille de la police. Vous pouvez appliquer des tailles de pixel absolues, telles que 16 ou 18, ou relatives, telles que +2 ou -4.
Balise Image  La balise <img> vous permet d’intégrer des fichiers image (JPEG, GIF, PNG), des fichiers SWF et des clips externes à l’intérieur des champs de texte et des occurrences au sein des champs de texte. Le texte se déroule automatiquement autour des images intégrées dans les champs de texte. Vous devez définir le champ de texte sur multiligne pour placer un texte autour d’une image.

La balise <img> prend en charge les attributs suivants :

  • src : Spécifie l’URL vers un fichier image ou SWF, ou l’identifiant de liaison pour un symbole de clip dans la bibliothèque. Cet attribut est requis ; tous les autres attributs sont facultatifs. Les fichiers externes (JPEG, GIF, PNG et SWF) ne s’affichent pas tant qu’ils ne sont pas entièrement téléchargés.
  • width : Largeur de l’image, du fichier SWF ou du clip inséré, en pixels.
  • height : Hauteur de l’image, du fichier SWF ou du clip inséré, en pixels.
  • align : Spécifie l’alignement horizontal de l’image intégrée dans le champ de texte. Les valeur valides sont left et right. La valeur par défaut est left.
  • hspace : Spécifie l’espace horizontal qui entoure l’image là où aucun texte n’apparaît. La valeur par défaut est 8.
  • vspace : Spécifie l’espace vertical qui entoure l’image là où aucun texte n’apparaît. La valeur par défaut est 8.
  • id : Spécifie le nom d’une occurrence de clip (créée par Flash Player) contenant l’élément intégré (fichier image, SWF ou clip). Cette approche est utilisée pour contrôler le contenu intégré avec ActionScript.
  • checkPolicyFile : spécifie que Flash Player doit rechercher un fichier de régulation d’URL sur le serveur associé au domaine de l’image. En présence d’un fichier de régulation, les fichiers SWF figurant dans les domaines identifiés par ce fichier de régulation peuvent accéder aux données de l’image chargée, par exemple en appelant la méthode BitmapData.draw() avec cette image en tant que paramètre source. Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).

Flash affiche le média intégré dans un champ de texte, à sa taille normale. Pour spécifier les dimensions du média à intégrer, utilisez les attributs height et width de la balise <img>.

En général, une image intégrée dans un champ de texte apparaît sur la ligne qui suit la balise <img>. Cependant, lorsque la balise <img> est le premier caractère dans le champ de texte, l’image apparaît sur la première ligne du champ de texte.

Pour le contenu AIR dans le sandbox de sécurité de l’application, AIR ignore les balises img dans le contenu HTML des objets TextField ActionScript, afin d’éviter les tentatives d’hameçonnage,

Balise Italic La balise <i> affiche le texte entre balises en italiques. Des caractères italiques doivent être disponibles dans la police utilisée. Balise List item La balise <li> insère une puce juste avant le texte sur lequel elle porte. Remarque : dans la mesure où Flash Player et AIR ne permettent pas d’identifier les balises de liste triées ou non triées (<ol> et <ul>), ces dernières n’ont aucun effet sur le rendu de la liste. Toutes les listes restent non triées et tous les éléments de la liste sont précédés par des puces. Balise Paragraphe La balise <p> crée un paragraphe. Le champ de texte doit être défini sur multiligne pour utiliser cette balise. La balise <p> prend en charge les attributs suivants :
  • align : Détermine l’alignement du texte au sein du paragraphe ; les valeurs valides sont left, right, justify et center.
  • class : Spécifie la classe de style CSS définie par un objet flash.text.StyleSheet.
Balise Span La balise <span> peut uniquement être utilisée avec les styles de texte CSS. Elle prend en charge l’attribut suivant :
  • class : Spécifie la classe de style CSS définie par un objet flash.text.StyleSheet.
Balise Text format

La balise <textformat> permet d’utiliser un sous-ensemble de propriétés de formatage des paragraphes de la classe TextFormat dans les champs de texte, dont l’interlignage, le retrait, les marges et les taquets de tabulation. Vous pouvez associer des balises <textformat> aux balises HTML intégrées.

La balise <textformat> dispose des attributs suivants :

  • blockindent : Spécifie l’indentation d’un bloc, en points. Correspond à TextFormat.blockIndent.
  • indent : Spécifie l’indentation, de la marge gauche au premier caractère du paragraphe. Correspond à TextFormat.indent. Les nombres positifs et négatifs sont acceptables.
  • leading : Spécifie l’espace séparant les lignes (espace vertical). Correspond à TextFormat.leading. Les nombres positifs et négatifs sont acceptables.
  • leftmargin : Spécifie la marge gauche du paragraphe, en points. Correspond à TextFormat.leftMargin.
  • rightmargin : Spécifie la marge gauche du paragraphe, en points. Correspond à TextFormat.rightMargin.
  • tabstops : Spécifie des taquets de tabulation personnalisés, sous forme d’un tableau d’entiers non négatifs. Correspond à TextFormat.tabStops.
Balise Underline La balise <u> souligne le texte placé entre les balises.

Flash Player et AIR prennent en charge les entités HTML suivantes :

Entité Description &amp;lt; < (Inférieur à) &amp;gt; > (Supérieur à) &amp;amp; & (esperluette) &amp;quot; " (guillemets doubles) &amp;apos; ’ (apostrophe, guillemet simple)

Flash Player et AIR prennent également en charge les codes de caractères explicites, tels que &#38; (esperluette ASCII) et &#x20AC; (symbole € Unicode).

L’exemple suivant crée un objet TextField appelé tf1 et affecte une chaîne au format HTML à sa propriété text. Lorsque la propriété htmlText est suivie, une chaîne au format HTML est renvoyée avec des balises supplémentaires (telles que <P> et <FONT>) qui sont ajoutées de façon automatique par Flash Player. Lorsque la valeur de la propriété text est suivie, la chaîne non formatée et sans balises HTML s’affiche.

Par comparaison, les mêmes opérations sont exécutées sur un autre objet TextField appelé tf2 et un objet StyleSheet est alors affecté à la propriété styleSheet de tf2 avant la définition de sa propriété htmlText. Dans ce cas, lorsque la propriété htmlText est suivie, elle inclut uniquement le texte HTML qui a été affecté à l’origine à la propriété htmlText, ce qui indique qu’aucune balise supplémentaire n’a été ajoutée par Flash Player.

package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; public class TextField_text extends Sprite { public function TextField_text() { var tf1:TextField = createCustomTextField(10, 10, 400, 22); tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">&lt;b&gt;Lorem ipsum dolor sit amet.&lt;/b&gt;</FONT></P> trace("htmlText: " + tf1.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf1.text); var tf2:TextField = createCustomTextField(10, 50, 400, 22); tf2.styleSheet = new StyleSheet(); tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <b>Lorem ipsum dolor sit amet.</b> trace("htmlText: " + tf2.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf2.text); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
flash.text.TextField.textflash.text.StyleSheetflash.events.TextEvent
length Nombre de caractères d’un champ de texte.intNombre de caractères d’un champ de texte. Nombre de caractères d’un champ de texte. Un caractère tel qu’une marque de tabulation (\t) compte comme un seul caractère. maxChars Le nombre maximum de caractères que le champ de texte peut contenir, tels que saisis par un utilisateur.int0 Nombre maximal de caractères que le champ de texte peut contenir. Le nombre maximum de caractères que le champ de texte peut contenir, tels que saisis par un utilisateur. Un script peut insérer plus de texte que maxChars ne le permet ; la propriété maxChars n’indique que la quantité de texte qu’un utilisateur peut entrer. Si la valeur de la propriété est égale à 0, l’utilisateur peut entrer autant de texte que nécessaire. maxScrollH Valeur maximale de scrollH.intValeur maximale de scrollH. Valeur maximale de scrollH. flash.text.TextField.scrollHmaxScrollV Valeur maximale de scrollV.intValeur maximale de scrollV. Valeur maximale de scrollV. flash.text.TextField.scrollVmouseWheelEnabled Valeur booléenne qui indique si Flash Player fait automatiquement défiler les champs de texte multiligne lorsque l’utilisateur clique sur le champ de texte et actionne la molette de sa souris.BooleanIndique si Flash Player fait automatiquement défiler les champs de texte multiligne. Valeur booléenne qui indique si Flash Player fait automatiquement défiler les champs de texte multiligne lorsque l’utilisateur clique sur le champ de texte et actionne la molette de sa souris. Par défaut, cette valeur est true. Cette propriété est utile si vous souhaitez empêcher le défilement des champs de texte en actionnant la molette de la souris, ou implémenter votre propre défilement de champs de texte. multiline Indique si le champ est un champ de texte multiligne.Booleanfalse Indique si le champ de texte est un champ de texte multiligne. Indique si le champ est un champ de texte multiligne. Si la valeur est true, le champ de texte est multiligne ; si la valeur est false, le champ de texte est un champ de texte sur une seule ligne. Dans un champ de type TextFieldType.INPUT, la valeur multiline détermine si la touche Entrée créé une nouvelle ligne (valeur false et la touche Entrée est ignorée). Si vous collez du texte dans un objet TextField avec une valeur multiline false, les nouvelles lignes sont éliminées du texte. numLinesnumLines Définit le nombre de lignes de texte d’un champ multiligne.intDéfinit le nombre de lignes de texte d’un champ multiligne. Définit le nombre de lignes de texte d’un champ multiligne. Si la propriété wordWrap est définie sur true, le nombre de lignes augmente lorsque le texte contient des sauts de ligne. multilinewordWraprestrict Indique le jeu de caractères qu’un utilisateur peut rentrer dans le champ de texte.Stringnull Jeu de caractères qu’un utilisateur peut rentrer dans un champ de texte. Indique le jeu de caractères qu’un utilisateur peut rentrer dans le champ de texte. Si la valeur de la propriété restrict est null, vous pouvez entrer n’importe quel caractère. Si la valeur de la propriété restrict est une chaîne vide, aucun caractère ne peut être entré. Si la valeur de la propriété restrict est une chaîne de caractères, vous ne pouvez entrer que les caractères dans la chaîne du champ de texte. La chaîne est lue de gauche à droite. Vous pouvez spécifier une plage à l’aide du caractère (-). Seule l’interaction de l’utilisateur est limitée ; un script peut mettre n’importe quel texte dans le champ de texte. Cette propriété ne se synchronise pas avec les options de polices incorporées de l’inspecteur des propriétés.

Si la chaîne commence par un caret (^), tous les caractères sont initialement acceptés et les caractères suivants de la chaîne sont exclus du jeu de caractères acceptés. Si la chaîne ne commence pas par un caret (^), aucun caractère n’est initialement accepté et les caractères suivants de la chaîne sont inclus dans le jeu de caractères acceptés.

L’exemple suivant autorise uniquement les caractères en majuscules, les espaces et les nombres dans le champ de texte :

     my_txt.restrict = "A-Z 0-9";
     

L’exemple suivant exclut uniquement les caractères en minuscules :

     my_txt.restrict = "^a-z";
     

Insérez une barre oblique pour saisir un ^ ou un -. Les séquences acceptables sont \-, \^ ou \\. Si la barre oblique doit être un caractère réel dans la chaîne, vous devez également la faire précéder d’une autre barre oblique dans le code ActionScript. Par exemple, le code suivant inclut uniquement le tiret (-) et le signe circonflexe (^) :

     my_txt.restrict = "\\-\\^";
     

Le caractère ^ peut être utilisé n’importe où dans la chaîne pour faire alterner l’inclusion et l’exclusion des caractères. Le code suivant inclut uniquement des lettres en majuscules, mais exclut la lettre Q en majuscules :

     my_txt.restrict = "A-Z^Q";
     

Vous pouvez utiliser la séquence d’échappement \u pour créer des chaînes restrict. Le code suivant inclut uniquement les caractères ASCII allant de 32 à 126 (tilde).

     my_txt.restrict = "\u0020-\u007E";
     
scrollH Position de défilement horizontal actuelle.intPosition de défilement horizontal actuelle. Position de défilement horizontal actuelle. Si la propriété scrollH est 0, le texte ne défile pas horizontalement. Cette valeur de propriété est un entier qui représente la position horizontale en pixels.

Les unités du défilement horizontal sont les pixels, alors que les unités du défilement vertical sont les lignes. Le défilement horizontal est mesuré en pixels étant donné que la plupart des polices que vous utilisez sont généralement espacées de façon proportionnelle, c’est-à-dire que les caractères peuvent avoir différentes largeurs. Flash Player procède au défilement vertical par ligne dans la mesure où les utilisateurs préfèrent généralement consulter une ligne entière de texte. Même s’il existe plusieurs polices sur une ligne, la hauteur de la ligne s’adapte à la plus grande police utilisée.

Remarque : la propriété scrollH est de base zéro, contrairement à la propriété de défilement vertical scrollV qui est de base 1.

flash.text.TextField.maxScrollHflash.text.TextField.scrollV
scrollV La position verticale du texte dans un champ de texte.intLa position verticale du texte dans un champ de texte. La position verticale du texte dans un champ de texte. La propriété scrollV est utile pour diriger les utilisateurs vers un paragraphe spécifique dans un long passage ou pour créer des champs de texte avec défilement.

Les unités du défilement vertical sont des lignes, alors que les unités du défilement horizontal sont des pixels. Si la première ligne qui s’affiche correspond à la première ligne du champ de texte, scrollV est défini sur 1 (non pas sur 0). Le défilement horizontal est mesuré en pixels étant donné que la plupart des polices que vous utilisez sont généralement espacées de façon proportionnelle et les caractères peuvent donc avoir différentes largeurs. Flash procède au défilement vertical par ligne dans la mesure où les utilisateurs préfèrent généralement consulter une ligne entière de texte. Même s’il existe plusieurs polices sur une ligne, la hauteur de la ligne s’adapte à la plus grande police utilisée.

flash.text.TextField.scrollHflash.text.TextField.maxScrollV
selectable Une valeur booléenne qui indique si le champ de texte peut être sélectionné.Booleantrue Indique si le champ de texte peut être sélectionné. Une valeur booléenne qui indique si le champ de texte peut être sélectionné. La valeur true indique que le texte est sélectionnable. La propriété selectable détermine si un champ de texte peut être sélectionné et non pas s’il peut être modifié. Un champ de texte dynamique peut être sélectionné, même s’il ne peut pas être modifié. Lorsqu’un champ de texte n’est pas sélectionnable, vous ne pouvez pas sélectionner son texte.

Si selectable est défini sur false, le texte du champ de texte ne répond pas aux commandes de sélection de la souris ou du clavier, et le texte ne peut pas être copié à l’aide de la commande Copier. Si selectable est défini sur true, le texte du champ de texte peut être sélectionné avec la souris ou le clavier, et le texte peut être copié à l’aide de la commande Copier. Vous pouvez sélectionner le texte de cette manière même si le champ de texte est un champ de texte dynamique et non un champ de texte de saisie.

L’exemple suivant crée deux champs de texte dynamiques : un champ de texte avec la propriété selectable définie sur true et l’autre avec la propriété selectable définie sur false. Lorsque vous utilisez cet exemple, essayez de sélectionner le texte de ces champs avec la souris ou le clavier. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class selectableExample extends Sprite { public function selectableExample() { var tf1:TextField = createCustomTextField(10, 10); tf1.text="This text can be selected"; tf1.selectable=true; var tf2:TextField = createCustomTextField(10, 30); tf2.text="This text cannot be selected"; tf2.selectable=false; } private function createCustomTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
setSelection()selectionBeginIndexselectionEndIndexsetSelection()caretIndex
selectionBeginIndex Valeur d’index de base zéro du premier caractère de la sélection actuelle.intValeur d’index basée sur zéro du premier caractère de la sélection. Valeur d’index basée sur zéro du premier caractère de la sélection actuelle. Par exemple, le premier caractère est 0, le deuxième est 1, etc. Si aucun texte n’est sélectionné, cette propriété reprend la valeur de caretIndex. Dans cet exemple, une occurrence TextField est créée et remplie avec du texte. Un écouteur d’événement est affecté de façon à ce que l’utilisateur clique sur TextField, la méthode printCursorPosition est appelée. Dans ce cas, les valeurs des propriétés caretIndex, selectionBeginIndex et selectionEndIndex sont renvoyées.

Exécutez cet exemple, puis essayez de cliquer dans TextField pour sélectionner le texte. Cliquez ensuite dans le champ sans sélectionner de texte. Lorsque vous cliquez sur le texte sans faire de sélection, la propriété caretIndex indique l’emplacement du point d’insertion et les propriétés selectionBeginIndex et selectionEndIndex sont égales à la valeur de la propriété caretIndex.

package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
selectableselectionEndIndexsetSelection()caretIndex
selectionEndIndex Valeur d’index de base zéro du dernier caractère de la sélection actuelle.intValeur d’index basée sur zéro du dernier caractère de la sélection. Valeur d’index de base zéro du dernier caractère de la sélection actuelle. Par exemple, le premier caractère est 0, le deuxième est 1, etc. Si aucun texte n’est sélectionné, cette propriété reprend la valeur de caretIndex. Dans cet exemple, une occurrence TextField est créée et remplie avec du texte. Un écouteur d’événement est affecté de façon à ce que l’utilisateur clique sur TextField, la méthode printCursorPosition est appelée. Dans ce cas, les valeurs des propriétés caretIndex, selectionBeginIndex et selectionEndIndex sont renvoyées.

Exécutez cet exemple, puis essayez de cliquer dans TextField pour sélectionner le texte. Cliquez ensuite dans le champ sans sélectionner de texte. Lorsque vous cliquez sur le texte sans faire de sélection, la propriété caretIndex indique l’emplacement du point d’insertion et les propriétés selectionBeginIndex et selectionEndIndex sont égales à la valeur de la propriété caretIndex.

package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
selectableselectionBeginIndexsetSelection()caretIndex
sharpness Netteté des bords du glyphe dans ce champ de texte.Number0 La netteté des bords des glyphes. Netteté des bords du glyphe dans ce champ de texte. Cette propriété s’applique uniquement si la propriété flash.text.AntiAliasType du champ de texte est définie sur flash.text.AntiAliasType.ADVANCED. La plage de sharpness est comprise entre -400 et 400. Si vous tentez de définir sharpness sur une valeur en dehors de cette plage, Flash définit cette propriété sur la valeur valide la plus proche, soit -400 ou 400. L’exemple suivant montre l’effet de la modification de la propriété sharpness d’un objet TextField. Vous devez intégrer la police et définir la propriété antiAliasType sur ADVANCED. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class sharpnessExample extends Sprite { public function sharpnessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-400); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,400); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldSharpness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.sharpness=fldSharpness; result..setTextFormat(format); addChild(result); return result; } } } flash.text.TextField.antiAliasTypeflash.text.AntiAliasTypestyleSheet Associe une feuille de style au champ de texte.flash.text:StyleSheetAssocie une feuille de style au champ de texte. Associe une feuille de style au champ de texte. Pour plus d’informations sur la création de feuilles de style, voir la classe StyleSheet et le Guide du développeur d’ActionScript 3.0.

Vous pouvez modifier la feuille de style associée à un champ de texte à la demande. Si vous modifiez la feuille de style en cours d’utilisation, le champ de texte est redessiné avec la nouvelle feuille de style. Vous pouvez définir la feuille de style sur null ou undefined pour ne pas en utiliser. Si la feuille de style en cours d’utilisation est supprimée, le champ de texte est redessiné sans feuille de style.

Remarque : lorsque la feuille de style est supprimée, le contenu de TextField.text et TextField.htmlText se modifie pour intégrer le formatage qui a été appliqué auparavant par la feuille de style. Pour préserver le contenu d’origine de TextField.htmlText sans le formatage, enregistrez la valeur dans une variable avant de supprimer la feuille de style.

L’exemple suivant définit un simple objet StyleSheet et l’affecte à un champ de texte avec contenu HTML. Définissez la propriété stylesheet avant de définir le contenu. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.StyleSheet; public class TextStylesheetExample extends Sprite { var myLabel:TextField = new TextField(); var labelText:String = "Hello world."; var newStyle:StyleSheet = new StyleSheet(); public function TextStylesheetExample() { var styleObj:Object = new Object(); styleObj.fontWeight = "bold"; styleObj.color = "#660066"; newStyle.setStyle(".defStyle", styleObj); myLabel.styleSheet=newStyle; myLabel.htmlText=labelText; addChild(myLabel); } } }
flash.text.StyleSheet
textColor Couleur du texte dans un champ de texte, au format hexadécimal.uint0 (0x000000) Couleur du texte dans un champ de texte, au format hexadécimal. Couleur du texte dans un champ de texte, au format hexadécimal. Le système de couleur hexadécimal utilise les six chiffres pour représenter les valeurs de couleur. Chaque chiffre a 16 valeurs ou caractères possibles. La plage de caractères va de 0 à 9, puis de A à F. Par exemple, le noir correspond à 0x000000 et le blanc à 0xFFFFFF. Le code ActionScript suivant crée un objet TextField et affecte à la propriété textColor la couleur rouge (0xFF0000). package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textColor extends Sprite { public function TextField_textColor() { var tf:TextField = createCustomTextField(10, 10, 100, 300); tf.text = "This will be red text"; tf.textColor = 0xFF0000; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } } textHeight Hauteur du texte en pixels.NumberHauteur du texte en pixels. Hauteur du texte en pixels. L’exemple suivant crée un objet TextField et lui affecte du texte. Les instructions trace affichent les valeurs des propriétés textWidth et textHeight. Par comparaison, les propriétés width et height s’affichent également. (Tenez compte du fait que les valeurs qui s’affichent pour textHeight et textWidth dépendent de la police utilisée sur votre ordinateur). package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textHeight extends Sprite { public function TextField_textHeight() { var tf:TextField = createCustomTextField(10, 10, 100, 150); tf.text = "Sample text"; trace("textWidth: " + tf.textWidth); // textWidth: 55.75 trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001 trace("width: " + tf.width); // width: 100 trace("height: " + tf.height); // height: 150 } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; result.background = true; addChild(result); return result; } } } flash.text.TextField.textWidthtextInteractionMode Propriété du mode d’interaction ; la valeur par défaut est TextInteractionMode.NORMAL.String Propriété du mode d’interaction ; la valeur par défaut est TextInteractionMode.NORMAL. Sur les plates-formes mobiles, le mode normal permet de faire défiler le texte, mais pas de le sélectionner. L’utilisateur peut passer au mode sélectionnable via le menu contextuel intégré au champ de texte. Sur les ordinateurs de bureau, le mode normal permet de faire défiler le champ de texte et de le sélectionner. textWidth Largeur du texte en pixels.NumberLargeur du texte en pixels. Largeur du texte en pixels. L’exemple suivant crée un objet TextField et lui affecte du texte. Les instructions trace affichent les valeurs des propriétés textWidth et textHeight. Par comparaison, les propriétés width et height s’affichent également. (Tenez compte du fait que les valeurs qui s’affichent pour textHeight et textWidth dépendent de la police utilisée sur votre ordinateur). package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textHeight extends Sprite { public function TextField_textHeight() { var tf:TextField = createCustomTextField(10, 10, 100, 150); tf.text = "Sample text"; trace("textWidth: " + tf.textWidth); // textWidth: 55.75 trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001 trace("width: " + tf.width); // width: 100 trace("height: " + tf.height); // height: 150 } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; result.background = true; addChild(result); return result; } } } flash.text.TextField.textHeighttext Une chaîne qui correspond au texte du champ de texte.StringUne chaîne qui correspond au texte du champ de texte. Une chaîne qui correspond au texte du champ de texte. Les lignes sont séparées par le caractère de retour chariot (’\r’, ASCII 13). Cette propriété contient du texte non formaté dans le champ de texte, sans balises HTML.

Pour obtenir le texte du formulaire HTML, utilisez la propriété htmlText.

L’exemple suivant crée un objet TextField appelé tf1 et affecte une chaîne au format HTML à sa propriété text. Lorsque la propriété htmlText est suivie, une chaîne au format HTML est renvoyée avec des balises supplémentaires (telles que <P> et <FONT>) qui sont ajoutées de façon automatique par Flash Player. Lorsque la valeur de la propriété text est suivie, la chaîne non formatée et sans balises HTML s’affiche.

Par comparaison, les mêmes opérations sont exécutées sur un autre objet TextField appelé tf2 et un objet StyleSheet est alors affecté à la propriété styleSheet de tf2 avant la définition de sa propriété htmlText. Dans ce cas, lorsque la propriété htmlText est suivie, elle inclut uniquement le texte HTML qui a été affecté à l’origine à la propriété htmlText, ce qui indique qu’aucune balise supplémentaire n’a été ajoutée par Flash Player.

package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; public class TextField_text extends Sprite { public function TextField_text() { var tf1:TextField = createCustomTextField(10, 10, 400, 22); tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">&lt;b&gt;Lorem ipsum dolor sit amet.&lt;/b&gt;</FONT></P> trace("htmlText: " + tf1.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf1.text); var tf2:TextField = createCustomTextField(10, 50, 400, 22); tf2.styleSheet = new StyleSheet(); tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <b>Lorem ipsum dolor sit amet.</b> trace("htmlText: " + tf2.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf2.text); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
flash.text.TextField.htmlText
thickness Epaisseur des bords du glyphe dans ce champ de texte.Number0 L’épaisseur des bords des glyphes. Epaisseur des bords du glyphe dans ce champ de texte. Cette propriété s’applique uniquement lorsque flash.text.AntiAliasType est défini sur flash.text.AntiAliasType.ADVANCED.

La plage de thickness est comprise entre -200 et 200. Si vous tentez de définir thickness sur une valeur en dehors de cette plage, cette propriété est définie sur la valeur valide la plus proche, soit -200 ou 200.

L’exemple suivant montre l’effet de la modification de la propriété thickness d’un objet TextField. Vous devez intégrer la police et définir la propriété antiAliasType sur ADVANCED. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class thicknessExample extends Sprite { public function thicknessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-200); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,200); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldThickness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.thickness=fldThickness; result.setTextFormat(format); addChild(result); return result; } } }
flash.text.TextField.antiAliasTypeflash.text.AntiAliasType
type Type du champ de texte.StringLe paramètre type spécifié n’appartient pas à flash.text.TextFieldType. ArgumentErrorArgumentErrordynamic Type du champ de texte. Type du champ de texte. L’une des constantes TextFieldType suivantes : TextFieldType.DYNAMIC, qui spécifie un champ de texte dynamique, que l’utilisateur ne peut pas modifier, ou TextFieldType.INPUT, qui spécifie un champ de texte de saisie, que l’utilisateur peut modifier. L’exemple suivant crée deux champs de texte : tfDynamic et tfInput. Le texte est entré dans les deux champs de texte. Cependant, tfDynamic voit sa propriété type définie sur TextFieldType.DYNAMIC, tandis que tfInput voit sa propriété type définie sur TextFieldType.INPUT, ce qui signifie que l’utilisateur peut modifier le texte de tfInput mais ne peut que consulter le texte de tfDynamic. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_type extends Sprite { public function TextField_type() { var tfDynamic:TextField = createCustomTextField(10, 10, 100, 20); tfDynamic.type = TextFieldType.DYNAMIC; tfDynamic.text = "hello"; var tfInput:TextField = createCustomTextField(10, 45, 100, 20); tfInput.type = TextFieldType.INPUT; tfInput.text = "world"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } } flash.text.TextFieldTypeuseRichTextClipboard Spécifie si le formatage du texte peut être copié et collé en même temps que le corps du texte.Boolean Spécifie si le formatage du texte peut être copié et collé en même temps que le corps du texte. Lorsque défini sur true, Flash Player copie et colle le formatage (tel que les paramètres d’alignement, gras et italique) lorsque vous copiez et collez entre différents champs. Les champs de texte d’origine et de destination pour la procédure de copie et collage doivent disposer d’une propriété useRichTextClipboard définie sur true. La valeur par défaut est false. Cet exemple crée un champ de saisie de texte (tf1) et deux champs de texte dynamiques (tf2 et tf3). Le code affecte à chaque champ de texte dynamique un objet TextFormat (police Courier Bold). La propriété useRichTextClipboard du champ de texte tf2 est définie sur false. La propriété useRichTextClipboard du champ de texte tf3 est définie sur true. Lorsque vous copiez le texte du champ tf2 pour le coller dans le champ tf1, le texte collé ne reproduit pas le formatage. Lorsque vous copiez le texte du champ tf3 (dont la propreté useRichTextClipboard est définie sur true) pour le coller dans le champ tf1, le texte collé reproduit le formatage. package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; public class useRichTextClipboard extends Sprite { public function useRichTextClipboard() { var format1:TextFormat = new TextFormat(); format1.font="Courier"; format1.bold=true; var tf1:TextField = createCustomTextField(10, 10, 200, 20); tf1.type=TextFieldType.INPUT; tf1.useRichTextClipboard=true; var tf2:TextField = createCustomTextField(220, 10, 200, 20); tf2.text="1.Text loses format"; tf2.setTextFormat(format1); tf2.useRichTextClipboard=false; var tf3:TextField = createCustomTextField(220, 50, 200, 20); tf3.text="2.Text includes format"; tf3.setTextFormat(format1); tf3.useRichTextClipboard=true; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } } wordWrap Valeur booléenne indiquant si le champ de texte comporte un retour à la ligne.BooleanIndique si le champ de texte autorise ou non le retour à la ligne. Valeur booléenne indiquant si le champ de texte comporte un retour à la ligne. Si la valeur de wordWrap est true, le champ de texte comporte un retour à la ligne ; si la valeur est false, le champ de texte ne comporte pas de retour à la ligne. La valeur par défaut est false. L’exemple suivant révèle la différence entre la définition du paramètre wordWrap sur true et sa définition sur false : Deux occurrences TextField sont créées, dont le contenu est trop important pour leur largeur. La propriété wordWrap du premier (appelée tfWrap) est définie sur true. Elle est définie sur false pour le deuxième (tfNoWrap). package { import flash.display.Sprite; import flash.text.TextField; public class TextField_wordWrap extends Sprite { public function TextField_wordWrap() { var tfWrap:TextField = createCustomTextField(10, 10, 100, 100); tfWrap.wordWrap = true; tfWrap.text = "(wordWrap = true):\nThis is very long text that will certainly extend beyond the width of this text field"; var tfNoWrap:TextField = createCustomTextField(10, 150, 100, 100); tfNoWrap.wordWrap = false; tfNoWrap.text = "(wordWrap = false):\nThis is very long text that will certainly extend beyond the width of this text field"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
TextFormat La classe TextFormat représente les informations de mise en forme de caractères.Crée le formatage de texte pour les champs de texte. Object La classe TextFormat représente les informations de formatage de caractères. Utilisez la classe TextFormat pour personnaliser le formatage des champs de texte. Vous pouvez formater le texte des champs statiques et dynamiques. Les propriétés de la classe TextFormat s’appliquent aux polices de périphérique et intégrées. Cependant, pour les polices incorporées, le texte en gras et en italique nécessite en fait des polices spécifiques. Pour afficher du texte en gras ou en italiques avec une police incorporée, vous devez intégrer les variations en gras et en italiques de cette police.

Vous devez utiliser le constructeur new TextFormat() pour créer un objet TextFormat avant de définir les propriétés. Lorsque vous appliquez un objet TextFormat à un champ de texte avec la propriété TextField.defaultTextFormat ou la méthode TextField.setTextFormat(), seules ses propriétés définies sont appliquées. Utilisez la propriété TextField.defaultTextFormat pour appliquer une mise en forme AVANT d’ajouter du texte au TextField, et la méthode setTextFormat() pour ajouter une mise en forme APRES avoir ajouté du texte au TextField. Les propriétés TextFormat ont la valeur null par défaut, dans la mesure où Flash Player applique son propre format par défaut en l’absence de valeurs pour ces propriétés. Le format par défaut que Flash Player utilise pour chaque propriété (si sa valeur est null) prend la forme suivante :

align = « left »blockIndent = 0bold = falsebullet = falsecolor = 0x000000font = « Times New Roman » (la police par défaut est Times sur le Mac Système X)indent = 0italic = falsekerning = falseleading = 0leftMargin = 0letterSpacing = 0rightMargin = 0size = 12tabStops = [] (tableau vide)target = "" (chaîne vide)underline = falseurl = "" (chaîne vide)

La mise en forme par défaut de chaque propriété figure également dans la description des propriétés.

L’exemple suivant crée la classe TextFieldExample pour afficher un message texte à l’emplacement par défaut (x = 0, y = 0). Pour ce faire, exécutez la procédure suivante :
  1. Une propriété label de type TextField est créée.
  2. Le constructeur de classe appelle la fonction configureLabel().
  3. La fonction configureLabel() crée tout d’abord un objet TextField et l’affecte à label, puis définit ses paramètres de la façon suivante :
    • Justifie le champ de texte à gauche ;
    • Active le remplissage d’arrière-plan ;
    • Active la bordure.
  4. Ensuite, la méthode configureLabel() crée la variable locale format et l’affecte à une nouvelle occurrence de TextFormat en définissant ses paramètres de la façon suivante :
    • Type de police = Verdana
    • Couleur de la police = rouge uni
    • Taille de la police = 10
    • Soulignement = true
  5. La propriété defaultTextFormat de l’étiquette est définie sur format, et l’occurrence label vient s’ajouter à la liste d’affichage, qui affiche tout d’abord un champ de texte sans texte (sous forme de petit cadre avec un fond blanc) sur la scène.
  6. Enfin (au niveau du constructeur), le texte de l’étiquette est défini sur « Hello World and welcome to the show », aux coordonnées x = 0, y = 0 en appelant setLabel().
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class TextFormatExample extends Sprite { private var label:TextField; public function TextFormatExample() { configureLabel(); setLabel("Hello World and welcome to the show"); } public function setLabel(str:String):void { label.text = str; } private function configureLabel():void { label = new TextField(); label.autoSize = TextFieldAutoSize.LEFT; label.background = true; label.border = true; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0xFF0000; format.size = 10; format.underline = true; label.defaultTextFormat = format; addChild(label); } } }
flash.text.TextField.setTextFormat()flash.text.TextField.defaultTextFormatflash.text.TextField.getTextFormat()TextFormat Crée un objet TextFormat avec les propriétés spécifiées.fontStringnullLe nom de la police du texte sous forme de chaîne. sizeObjectnullUn entier qui indique la taille, en pixels. colorObjectnullLa couleur du texte qui utilise ce format. Nombre contenant trois composants RVB 8 bits ; par exemple, 0xFF0000 correspond au rouge et 0x00FF00 au vert. boldObjectnullValeur booléenne qui spécifie si le texte est en gras. italicObjectnullValeur booléenne qui spécifie si le texte est en italiques. underlineObjectnullValeur booléenne qui spécifie si le texte est souligné. urlStringnullURL correspondant au lien hypertexte du texte de ce format de texte. Si l’url est une chaîne vide, le texte ne comporte pas de lien hypertexte. targetStringnullFenêtre cible dans laquelle s’affiche le lien hypertexte. Si la fenêtre cible est une chaîne vide, le texte s’affiche dans la fenêtre cible par défaut _self. Si le paramètre url est défini sur une chaîne vide ou sur la valeur null, vous pouvez obtenir ou définir cette propriété, mais la propriété n’aura aucun effet. alignStringnullL’alignement du paragraphe, en tant que valeur TextFormatAlign. leftMarginObjectnullIndique la marge gauche du paragraphe, en pixels. rightMarginObjectnullIndique la marge droite du paragraphe, en pixels. indentObjectnullEntier indiquant l’indentation à appliquer de la marge gauche au premier caractère du paragraphe. leadingObjectnullNombre qui indique le montant d’interlignage vertical entre les lignes. Crée un objet TextFormat avec les propriétés spécifiées. Vous pouvez modifier les propriétés de l’objet TextFormat pour modifier le format des champs de texte.

Tout paramètre peut être défini sur null pour indiquer qu’il n’est pas défini. Tous les paramètres sont facultatifs ; tous les paramètres omis sont traités comme null.

Dans l’exemple suivant, un utilisateur peut sélectionner dans une liste diverses options de mise en forme du texte pour les appliquer au contenu d’un autre champ de texte. Si l’utilisateur clique sur le contenu du champ de texte, le formatage retrouve son format par défaut (original).

Le champ de texte formatTextField présente la liste de toutes les options des propriétés de la classe TextField (à l’exception de kerning) sur une ligne distincte. Lorsqu’un utilisateur clique sur une ligne du champ de texte formatTextField, la méthode formatTextFieldClickHandler() est déclenchée.

La méthode formatTextFieldClickHandler() appelle la méthode TextField.getLineIndexAtPoint() pour obtenir l’index de la ligne sur lequel l’utilisateur a cliqué, puis la méthode TextField.getLineText() pour obtenir le contenu de la ligne. L’instruction switch vérifie le contenu de la ligne et définit une propriété de l’objet TextFormat newformat en conséquence. La méthode setTextFormat() définit ensuite le format de texte du champ de texte contentTextField sur le nouveau format. En cliquant sur les différentes lignes formatTextField, un utilisateur peut appliquer une autre mise en forme au champ de texte contentTextField (le paramètre tab est un tableau qui définit un taquet de tabulation distinct pour chaque tabulation de la ligne). Si la ligne url ou target est sélectionnée, l’utilisateur doit cliquer sur le champ de texte contentTextField pour activer le lien et afficher le contenu de l’URL cible (page d’accueil Flex). La valeur par défaut de la propriété target est « _self », ce qui signifie que le contenu s’affiche dans la fenêtre active lorsque l’utilisateur sélectionne la ligne url. Pour utiliser la propriété target, une URL doit déjà être définie dans la propriété url.

Si un utilisateur clique sur le champ de texte contentTextField, la méthode contentTextFieldClickHandler() est déclenchée, ce qui définit le format du champ et l’objet TextFormat newFormat sur le format par défaut (original) du champ de texte. Cette opération supprime toutes les modifications de mise en forme effectuées par l’utilisateur.

package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; import flash.text.TextFormatAlign; public class TextFormat_constructorExample extends Sprite { private var contentTextField:TextField = new TextField(); private var formatTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextFormat_constructorExample() { contentTextField.x = 10; contentTextField.y = 10; contentTextField.background = true; contentTextField.border = true; contentTextField.multiline = true; contentTextField.wordWrap = true; contentTextField.selectable = false; contentTextField.width = 250; contentTextField.height = 120; contentTextField.htmlText = "<p>The TextFormat class represents character formatting " + "information. Use the TextFormat class to create specific text formatting " + "for text fields." + " </p><br>" + "\tTab One" + "\tTab Two<br>"; formatTextField.x = 10; formatTextField.y = 140; formatTextField.background = true; formatTextField.border = true; formatTextField.autoSize = TextFieldAutoSize.LEFT; formatTextField.text = "align: right\n" + "blockIndent: 10 pixels\n" + "bold:\n" + "bullet:\n" + "color: red\n" + "font: Arial\n" + "indent: 20 pixels\n" + "italic:\n" + "leading: 5 spaces\n" + "leftMargin: 20 pixels\n" + "letterSpacing: 4 pixels\n" + "rightMargin: 20 pixels\n" + "size: 16 point\n" + "target: new window\n" + "tabStops: 50 and 150 pixel\n" + "underline:\n" + "url: Adobe Flex page\n"; formatTextField.addEventListener(MouseEvent.CLICK, formatTextFieldClickHandler); contentTextField.addEventListener(MouseEvent.CLICK, contentTextFieldClickHandler); this.addChild(contentTextField); this.addChild(formatTextField); } private function formatTextFieldClickHandler(e:MouseEvent):void { var value:String= ""; var i:uint = 0; var index:int = formatTextField.getLineIndexAtPoint(e.localX, e.localY); var line:String = formatTextField.getLineText(index);; line = line.substr(0, (line.indexOf(":"))); switch(line) { case "align": newFormat.align = TextFormatAlign.RIGHT; break; case "blockIndent": newFormat.blockIndent = 10; break; case "bold": newFormat.bold = true; break; case "bullet": newFormat.bullet = true; break; case "color": newFormat.color = 0xFF0000; break; case "font": newFormat.font = "Arial"; break; case "indent": newFormat.indent = 20; break; case "italic": newFormat.italic = true; break; case "leading": newFormat.leading = 5; break; case "leftMargin": newFormat.leftMargin = 20; break; case "letterSpacing": newFormat.letterSpacing = 4; break; case "rightMargin": newFormat.rightMargin = 20; break; case "size": newFormat.size = 16; break; case "tabStops": newFormat.tabStops = [50, 150]; break; case "target": newFormat.url = "http://www.adobe.com/products/flex/"; newFormat.target = "_blank"; break; case "underline": newFormat.underline = true; break; case "url": newFormat.url = "http://www.adobe.com/products/flex/"; break; } contentTextField.setTextFormat(newFormat); } private function contentTextFieldClickHandler(e:MouseEvent):void { contentTextField.setTextFormat(contentTextField.defaultTextFormat); newFormat = contentTextField.defaultTextFormat; } } }
align Indique l’alignement du paragraphe.StringLe paramètre align spécifié n’appartient pas à flash.text.TextFormatAlign. ArgumentErrorArgumentErrorTextFormatAlign.LEFT Indique l’alignement du paragraphe. Les valeurs valides sont des constantes TextFormatAlign. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . flash.text.TextFormatAlignblockIndent Indique l’indentation du bloc en pixels.Object Indique l’indentation du bloc en pixels. L’indentation d’un bloc est appliquée à l’ensemble d’un bloc de texte ; c’est-à-dire à toutes les lignes du texte. Par contraste, l’indentation normale (TextFormat.indent) affecte seulement la première ligne de chaque paragraphe. Si cette propriété est null, l’objet TextFormat ne spécifie pas l’indentation d’un bloc (l’indentation de bloc est de 0). Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . bold Spécifie si le texte est en gras.Object Spécifie si le texte est en gras. La valeur par défaut est null, ce qui signifie qu’aucune police en gras n’est utilisée. Si la valeur est true, le texte est en gras. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . bullet Indique que le texte fait partie d’une liste à puces.Object Indique que le texte fait partie d’une liste à puces. Dans une liste à puces, chaque paragraphe du texte apparaît en retrait. A gauche de la première ligne de chaque paragraphe, le symbole d’une puce s’affiche. La valeur par défaut est null, ce qui signifie qu’aucune liste à puces n’est utilisée. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . color Indique la couleur du texte.Object Indique la couleur du texte. Nombre contenant trois composants RVB 8 bits ; par exemple, 0xFF0000 correspond au rouge et 0x00FF00 au vert. La valeur par défaut est null, ce qui signifie que Flash Player utilise la couleur noire (0x000000). Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . font Nom de la police pour du texte dans ce format de texte, sous forme de chaîne.String Nom de la police pour du texte dans ce format de texte, sous forme de chaîne. La valeur par défaut est null, ce qui signifie que Flash Player utilise la police Times New Roman pour le texte. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . indent Indique l’indentation à appliquer de la marge gauche au premier caractère du paragraphe.Object Indique l’indentation à appliquer de la marge gauche au premier caractère du paragraphe. La valeur par défaut est null, ce qui indique qu’aucune indentation n’est utilisée. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . flash.text.TextFormat.blockIndentitalic Indique si le texte concerné par ce format doit être en italiques.Object Indique si le texte concerné par ce format doit être en italiques. La valeur par défaut est null, ce qui signifie qu’aucun caractère ne sera en italiques. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . kerning Valeur booléenne indiquant si le crénage est activé (true) ou désactivé (false).Object Valeur booléenne indiquant si le crénage est activé (true) ou désactivé (false). Le crénage modifie le nombre de pixels séparant chaque paire de caractères pour améliorer la lisibilité et ne doit être employé que si nécessaire, dans les titres en grande police, par exemple. Le crénage est supporté uniquement pour les polices incorporées.

Certaines polices, telles que Verdana, et les polices à espacement fixe, telles que Courier New, ne prennent pas en charge le crénage.

La valeur par défaut est null, ce qui signifie que le crénage est désactivé.

leading Entier représentant le montant d’espace vertical (appelé interlignage) entre les lignes.Object Entier représentant le montant d’espace vertical (appelé leading) entre les lignes. La valeur par défaut est null, ce qui indique que le montant d’interlignage est défini sur 0. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . leftMargin Marge gauche du paragraphe, en pixels.Object Marge gauche du paragraphe, en pixels. La valeur par défaut est null, ce qui indique que la marge gauche est de 0 pixels. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . letterSpacing Nombre représentant la quantité d’espace répartie uniformément entre tous les caractères.Object Nombre représentant la quantité d’espace répartie uniformément entre tous les caractères. Cette valeur spécifie le nombre de pixels à ajouter après chaque caractère. La valeur par défaut est null, ce qui signifie que les lettres sont séparées par 0 pixels. Vous pouvez utiliser des valeurs décimales telles que 1.75. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . rightMargin Marge droite du paragraphe, en pixels.Object Marge droite du paragraphe, en pixels. La valeur par défaut est null, ce qui indique que la marge droite est de 0 pixels. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . size La taille en pixels de ce format de texte.Object La taille en pixels de ce format de texte. La valeur par défaut est null, ce qui signifie qu’une taille de 12 pixels est utilisée. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . tabStops Spécifie des taquets de tabulation personnalisés, sous forme d’un tableau d’entiers non négatifs.Array Spécifie des taquets de tabulation personnalisés, sous forme d’un tableau d’entiers non négatifs. Chaque taquet de tabulation est spécifié en pixels. Si des taquets de tabulation personnalisés ne sont pas spécifiés (null), le taquet de tabulation par défaut est 4 (largeur moyenne de caractère). Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . target Indique la fenêtre cible dans laquelle s’affiche le lien hypertexte.String Indique la fenêtre cible dans laquelle s’affiche le lien hypertexte. Si la fenêtre cible est une chaîne vide, le texte s’affiche dans la fenêtre cible par défaut _self. Vous pouvez choisir un nom personnalisé ou l’un des quatre noms suivants : _self spécifie l’image active dans la fenêtre actuelle, _blank spécifie une nouvelle fenêtre, _parent spécifie le parent de l’image active et _top spécifie l’image de plus haut niveau dans la fenêtre active. Si la propriété TextFormat.url est une chaîne vide ou null, vous pouvez obtenir ou définir cette propriété, mais la propriété n’aura aucun effet. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . flash.text.TextFormat.urlunderline Indique si le texte qui utilise ce format texte est souligné (true) ou non (false).Object Indique si le texte qui utilise ce format texte est souligné (true) ou non (false). Ce soulignement est similaire à celui créé par la balise <U> mais ce dernier n’est pas un vrai soulignement, étant donné qu’il ne saute pas correctement les lettres à jambage. La valeur par défaut est null, ce qui indique qu’aucune partie du texte n’est soulignée. Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété . url Indique l’URL cible du texte concerné par ce format.String Indique l’URL cible du texte concerné par ce format. Si la propriété url est une chaîne vide, le texte ne comporte pas de lien hypertexte. La valeur par défaut est null, ce qui indique que le texte ne comporte pas de lien hypertexte.

Remarque : le texte et le format qui lui est associé doivent être définis avec la propriété htmlText pour que le lien hypertexte fonctionne.

Consultez l’exemple TextFormat() constructor pour une illustration de l’utilisation de cette propriété .
flash.text.TextField.htmlText
TextDisplayMode La classe TextDisplayMode regroupe les valeurs qui contrôlent l’anti-aliasing des sous-pixels du système d’anti-aliasing avancé.Object La classe TextDisplayMode regroupe les valeurs qui contrôlent l’anti-aliasing des sous-pixels du système d’anti-aliasing avancé. flash.text.TextRenderer.displayModeCRT Force Flash Player à afficher l’anticrènelage en niveaux de gris.crtString Force Flash Player à afficher l’anticrènelage en niveaux de gris. Si ce paramètre prévient la coloration du texte, certains utilisateurs pourront néanmoins le trouver flou. DEFAULT Permet à Flash Player de choisir entre les modes LCD et CRT.defaultString Permet à Flash Player de choisir entre les modes LCD et CRT. LCD Force Flash Player à utiliser le paramètre LCD d’anticrènelage de sous-pixels.lcdString Force Flash Player à utiliser le paramètre LCD d’anticrènelage de sous-pixels. Selon la police et le matériel, ce paramètre peut entraîner une résolution de texte plus élevées ou des couleurs plus nombreuses. AntiAliasType La classe AntiAliasType fournit les valeurs d’anti-aliasing de la classe flash.text.TextField.Object La classe AntiAliasType fournit les valeurs d’anti-aliasing de la classe flash.text.TextField. flash.text.TextFieldADVANCED Permet d’appliquer un anticrènelage avancé.advancedString Permet d’appliquer un anticrènelage avancé. L’anticrènelage avancé offre un rendu de très haute qualité pour les polices de petite taille. Il est préférable de l’utiliser avec les applications comprenant une grande quantité de texte de petite taille. L’anticrènelage avancé n’est pas recommandé pour les très grandes polices, soit plus de 48 points. Cette constante s’applique à la propriété antiAliasType de la classe TextField. Utilisez la syntaxe AntiAliasType.ADVANCED. flash.text.TextField.antiAliasTypeNORMAL Définit l’anticrènelage sur l’anticrènelage appliqué par Flash Player 7 et ses versions antérieures.Bob Pappas normalString Définit l’anticrènelage sur l’anticrènelage appliqué par Flash Player 7 et ses versions antérieures. Ce paramètre est recommandé pour les applications qui ne comportent pas beaucoup de texte. Cette constante s’applique à la propriété antiAliasType de la classe TextField. Utilisez la syntaxe AntiAliasType.NORMAL. flash.text.TextField.antiAliasTypeFontType La classe FontType contient les constantes énumérées « embedded » et « device » pour la propriété fontType de la classe Font.Object La classe FontType contient les constantes énumérées "embedded" et "device" pour la propriété fontType de la classe Font. flash.text.Font.fontTypeDEVICE Indique qu’il s’agit d’une police de périphérique.deviceString Indique qu’il s’agit d’une police de périphérique. Le fichier SWF s’affiche à l’aide des polices installées sur le système.

L’utilisation de polices de périphérique réduit la taille des fichiers d’animation, car les données relatives à la police ne figurent pas dans le fichier. Les polices de périphérique sont souvent préférables pour afficher le texte à un petit format, dans la mesure où le texte anticrènelé peut être légèrement flou pour les petites tailles. Les polices de périphérique sont également préférables pour les grands blocs de texte, tels que le texte à défilement.

Les champs de texte qui utilisent des polices de périphérique ne peuvent pas s’afficher de la même façon sur différents systèmes et différentes plates-formes, car ils utilisent les polices installées sur le système. Pour la même raison, les polices de périphérique ne sont pas anticrènelées et peuvent sembler pixélisées pour les grandes tailles.

TextField.embedFontsflash.text.engine.FontDescription.fontLookup
EMBEDDED_CFF Indique qu’il s’agit d’une police incorporée CFF.embeddedCFFString Indique qu’il s’agit d’une police incorporée CFF. Les polices vectorielles et un sous-ensemble des tables OpenType sont intégrés dans le fichier SWF publié.

Le texte qui utilise des polices CFF intégrées est toujours affiché dans la police choisie, que cette police soit ou non installée sur le système de lecture. D’autre part, le texte qui utilise des polices CFF incorporées est toujours anticrènelé (lissé) par Flash Player. Vous pouvez choisir le mode de rendu et les conseils pour une police CFF intégrée à l’aide des propriétés flash.text.engine.FontDescription.renderingMode et flash.text.engine.FontDescription.cffHinting.

L’un des principaux désavantages des polices CFF intégrées est qu’elles augmentent la taille du fichier SWF. Toutefois, les polices CFF intégrées sont généralement de 20 % à 30 % plus petites que les polices incorporées ordinaires.

Les polices de type EMBEDDED_CFF ne peuvent être utilisées que par les classes flash.text.engine. Un objet TextField obligé d’utiliser une telle police ne pourra pas effectuer le rendu.

flash.text.engine.FontDescription.fontLookup
EMBEDDED Indique qu’il s’agit d’une police incorporée.embeddedString Indique qu’il s’agit d’une police incorporée. Les polices vectorielles sont intégrées dans le fichier SWF publié.

Les champs de texte qui recourent à des polices incorporées sont toujours affichés dans la police choisie, que cette police soit installée ou non sur le système de lecture. D’autre part, les champs de texte qui utilisent des polices incorporées sont toujours anticrènelés (lissés). Vous pouvez sélectionner le taux d’anticrènelage à appliquer à l’aide de la propriété TextField.antiAliasType.

L’un des principaux désavantages des polices incorporées est qu’elles augmentent la taille du fichier SWF.

Les polices de type EMBEDDED ne peuvent être utilisées que par l’objet TextField. Si les classes flash.text.engine doivent utiliser une telle police, elles reviennent aux polices de périphériques.

TextField.embedFonts
TextFormatAlign La classe TextFormatAlign fournit des valeurs pour l’alignement du texte de la classe TextFormat.Object La classe TextFormatAlign fournit des valeurs pour l’alignement du texte de la classe TextFormat. flash.text.TextFormatCENTER Constante ; centre le texte dans le champ de texte.centerString Constante ; centre le texte dans le champ de texte. Utilisez la syntaxe TextFormatAlign.CENTER. flash.text.TextFormat.alignJUSTIFY Constante ; justifie le texte au sein du champ de texte.justifyString Constante ; justifie le texte au sein du champ de texte. Utilisez la syntaxe TextFormatAlign.JUSTIFY. flash.text.TextFormat.alignLEFT Constante ; aligne le texte à gauche dans le champ de texte.leftString Constante ; aligne le texte à gauche dans le champ de texte. Utilisez la syntaxe TextFormatAlign.LEFT. flash.text.TextFormat.alignRIGHT Constante ; aligne le texte à droite dans le champ de texte.rightString Constante ; aligne le texte à droite dans le champ de texte. Utilisez la syntaxe TextFormatAlign.RIGHT. flash.text.TextFormat.alignFont La classe Font permet de gérer des polices incorporées dans les fichiers SWF.Object La classe Font permet de gérer des polices incorporées dans les fichiers SWF. Les polices incorporées sont représentées en tant que sous-classes de la classe Font. La class Font est actuellement utile pour rechercher des informations sur les polices incorporées. Vous ne pouvez pas modifier une police à l’aide de cette classe. Vous ne pouvez pas utiliser la classe Font pour charger les polices externes ou pour créer une occurrence de l’objet Font lui-même. Utilisez la classe Font en tant que classe de base abstraite. enumerateFonts Détermine s’il faut fournir la liste des polices incorporées actuellement disponibles.Liste des polices disponibles sous forme de tableau d’objets Font. ArrayenumerateDeviceFontsBooleanfalseIndique s’il est préférable de limiter la liste aux polices incorporées actuellement disponibles. Si défini sur true, la liste de l’ensemble des polices, aussi bien de périphérique qu’intégrées, est renvoyée. Si défini sur false, seules les polices incorporées sont renvoyées. Détermine s’il faut fournir la liste des polices incorporées actuellement disponibles. Cet exemple appelle en premier lieu la méthode statique Font.enumerateFonts() pour obtenir la liste des polices de périphérique et intégrées. Ensuite, il trie le tableau d’objets Font qui en résulte en fonction de la propriété fontName.

Ensuite, l’exemple indique comment appeler la méthode Font.enumerateFonts() avec le paramètre enumerateDeviceFonts défini sur false. Le tableau qui en résulte inclut uniquement les objets Font intégrés (si vous exécutez ce code à partir d’une application qui ne contient pas de polices incorporées, le tableau embeddedFonts est vide).

import flash.text.Font; var allFonts:Array = Font.enumerateFonts(true); allFonts.sortOn("fontName", Array.CASEINSENSITIVE); var embeddedFonts:Array = Font.enumerateFonts(false); embeddedFonts.sortOn("fontName", Array.CASEINSENSITIVE);
hasGlyphs Détermine si la chaîne fournie peut s’afficher à l’aide de la police en vigueur.Valeur true si la chaîne spécifiée peut s’afficher complètement à l’aide de cette police. BooleanstrStringLa chaîne à tester par rapport à la police actuelle. Détermine si la chaîne fournie peut s’afficher à l’aide de la police en vigueur. registerFont Enregistre une classe de police dans la liste globale de polices.fontClassClasse à ajouter à la liste globale de polices. Enregistre une classe de police dans la liste globale de polices. fontName Le nom de la police intégrée.String Le nom de la police intégrée. L’exemple suivant indique comment utiliser une police incorporée avec le contrôle CheckBox d’ActionScript 3.0 de Flash Professional en définissant les styles textFormat et embedFonts. Exemple fourni par ActionScriptExamples.com. // Requires: // - A CheckBox control UI component in Flash library. // - An embedded font in Flash library with linkage class "MyFont" and Export for ActionScript checked. // import fl.controls.CheckBox; var embeddedFont:Font = new MyFont(); var textFormat:TextFormat = new TextFormat(); textFormat.font = embeddedFont.fontName; textFormat.size = 24; var checkBox:CheckBox = new CheckBox(); checkBox.setStyle("textFormat", textFormat); checkBox.setStyle("embedFonts", true); checkBox.label = "The quick brown fox jumps over the lazy dog."; checkBox.textField.autoSize = TextFieldAutoSize.LEFT; checkBox.move(10, 10); checkBox.validateNow(); addChild(checkBox); fontStyle Style de la police.String Style de la police. Cette valeur peut correspondre à l’une des valeurs définies dans la classe FontStyle. flash.text.FontStylefontType Type de police.String Type de police. Cette valeur peut correspondre à l’une des constantes définies dans la classe FontType. flash.text.FontType
TextRenderer La classe TextRenderer permet d’exploiter la fonction avancée d’anti-aliasing des polices incorporées.Contrôle l’anticrènelage des polices incorporées. Object La classe TextRenderer permet d’exploiter la fonction d’anticrènelage avancé des polices incorporées. L’anticrènelage avancé offre un rendu de très haute qualité pour les polices de petite taille. Utilisez l’anticrènelage avancé avec les applications comportant beaucoup de texte de petite taille. Adobe ne recommande pas l’utilisation de l’anticrènelage avancé pour les polices de très grande taille (supérieures à 48 points). L’anticrènelage avancé est disponible uniquement à partir de Flash Player 8.

Pour définir l’anticrènelage avancé sur un champ de texte, définissez la propriété antiAliasType de l’occurrence de TextField.

L’anticrènelage avancé offre une modulation continue du trait (CSM) qui s’applique à la fois à l’épaisseur du trait et à la netteté des bords. En tant que fonctionnalité avancée, vous pouvez utiliser la méthode setAdvancedAntiAliasingTable() pour définir des paramètres pour des tailles de caractères et de polices spécifiques.

L’exemple suivant crée la classe TextRendererExample pour fournir des exemples visuels de paramètres d’anticrènelage avancé avec des tailles de police petites et grandes. Avant de tester cet exemple, vous devez intégrer une police. Si vous utilisez Flex, intégrez une police de la manière suivante :
  1. Placez la police Georgia, nommée georgia.ttf, dans le même répertoire que ce fichier AS.
  2. Ajoutez les lignes suivantes immédiatement en dessous de la définition de classe :
  3. [Embed(source="georgia.ttf", fontFamily="Georgia")]
  4. private var embeddedFont:String;
Si vous utilisez Flash, intégrez une police de la manière suivante :
  1. Placez un champ de texte sur la scène et sélectionnez-le.
  2. Dans l’inspecteur des propriétés, définissez la police de ce champ de texte sur Georgia
  3. Dans l’inspecteur des propriétés, appuyez sur « Intégrer... » et sélectionnez « Tout »

Remarques :

  • vous devrez compiler le fichier SWF en réglant « Sécurité de lecture locale » sur « Accès aux fichiers locaux uniquement ».

package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.*; import flash.text.*; public class TextRendererExample2 extends Sprite { private var gutter:int = 10; public function TextRendererExample2() { createTextField(8,AntiAliasType.NORMAL); createTextField(8,AntiAliasType.ADVANCED); createTextField(24,AntiAliasType.NORMAL); createTextField(24,AntiAliasType.ADVANCED); } private function createTextField(fontSize:Number,antiAliasType:String):TextField { var tf:TextField = new TextField(); tf.embedFonts = true; tf.autoSize = TextFieldAutoSize.LEFT; tf.antiAliasType = antiAliasType; tf.defaultTextFormat = getTextFormat(fontSize); tf.selectable = false; tf.mouseEnabled = true; tf.text = "The quick brown fox jumped over the lazy dog."; if(numChildren > 0) { var sibling:DisplayObject = getChildAt(numChildren - 1); tf.y = sibling.y + sibling.height + gutter; } addChild(tf); return tf; } private function getTextFormat(fontSize:Number):TextFormat { var format:TextFormat = new TextFormat(); format.size = fontSize; format.font = "Georgia"; return format; } } }
flash.text.TextField.antiAliasTypesetAdvancedAntiAliasingTable Définit un tableau de recherche personnalisé de la modulation continue du trait (CSM) pour une police.fontNameStringNom de la police pour laquelle vous appliquez des paramètres. fontStyleStringLe style de police indiqué en utilisant l’une des valeurs de la classe flash.text.FontStyle. colorTypeStringCette valeur détermine si le trait doit être sombre ou clair. Utilisez l’une des valeurs de la classe flash.text.TextColorType. advancedAntiAliasingTableArrayUn tableau d’un ou de plusieurs objets CSMSettings pour la police spécifiée. Chaque objet contient les propriétés suivantes :
  • fontSize.
  • insideCutOff
  • outsideCutOff

Le tableau advancedAntiAliasingTable peut comporter plusieurs entrées qui spécifient les paramètres CSM pour différentes tailles de police.

La fontSize est la taille, en pixels, pour laquelle les paramètres s’appliquent.

L’anticrènelage avancé a recours aux champs de distance échantillonnés de façon adaptative (ADF) pour représenter les contours qui déterminent un glyphe. Flash Player applique une valeur butoir externe (outsideCutOff), en-deçà de laquelle les densités sont définies sur zéro, et une valeur butoir interne (insideCutOff), au-delà de laquelle les densités sont limitées à une valeur donnée (telle que 255). Entre ces deux valeurs, la fonction de mappage est une courbe linéaire allant de zéro, pour la valeur butoir externe, jusqu’à la valeur de densité maximum définie pour la valeur butoir interne.

Le réglage des valeurs butoir externe et interne affecte l’épaisseur du trait et la netteté des bords. L’espacement séparant ces deux paramètres est comparable au double du rayon du filtre des méthodes classiques d’anticrènelage ; un espacement étroit fournit un bord plus net, tandis qu’un espacement plus large donne un bord plus doux, plus filtré. Lorsque l’espacement est nul, l’image de densité résultante est un bitmap à deux niveaux. Lorsque l’espacement est très large, le bord de l’image de densité résultante est assez semblable à celui d’une aquarelle.

De manière générale, les utilisateurs préfèrent les bords nets à fort contraste pour les petites tailles et des bords plus doux pour le texte animé et les polices de grande taille.

La valeur butoir externe correspond généralement à une valeur négative, tandis que la valeur interne a une valeur positive. Leur point intermédiaire est proche de zéro. Le réglage de ces paramètres pour décaler le point intermédiaire vers l’infini négatif augmente l’épaisseur du trait, tandis que son décalage vers l’infini positif la réduit. Assurez-vous que la valeur butoir externe soit toujours inférieure ou égale à la valeur interne.

Définit un tableau de recherche personnalisé de la modulation continue du trait (CSM) pour une police. Flash Player tente de détecter le CSM le plus adapté à la police. Si vous n’êtes pas satisfait par le CSM fourni par Flash Player, vous pouvez personnaliser votre propre CSM à l’aide de la méthode setAdvancedAntiAliasingTable().
flash.text.FontStyleflash.text.TextColorTypeCSMSettings
displayMode Contrôle la restitution de texte sur lequel l’anticrènelage avancé est défini.String"default" Contrôle la restitution de texte sur lequel l’anticrènelage avancé est défini. La qualité visuelle du texte est très subjective, et même si Flash Player tente d’appliquer les meilleurs paramètres aux différentes conditions d’affichage, certains concepteurs opteront pour un aspect différent de rendu de leur texte. Ainsi, l’utilisation de displayMode permet au concepteur de remplacer le choix des sous-pixels effectué par Flash Player et d’obtenir une cohérence visuelle, indépendamment du matériel de l’utilisateur. Utilisez les valeurs de la classe TextDisplayMode pour définir cette propriété. Classe TextDisplayModemaxLevel Le niveau de qualité des champs de distance échantillonnés de façon adaptative (ADF) à appliquer pour l’anticrènelage avancé.int4 Le niveau de qualité des champs de distance échantillonnés de façon adaptative (ADF) à appliquer pour l’anticrènelage avancé. Les seules valeurs acceptables sont 3, 4 et 7.

L’anticrènelage avancé a recours aux ADF pour représenter les contours qui déterminent un glyphe. Plus la qualité est élevée, plus les structures ADF consomment de la mémoire cache. Une valeur de 3 occupe le moins d’espace mémoire possible, mais débouche sur la qualité moindre. Les polices de plus grande taille nécessitent davantage d’espace en mémoire cache ; pour les polices dont la taille est de 64 pixels, le niveau de qualité passe de 3 à 4 ou de 4 à 7, à moins que ce niveau ne soit déjà défini sur 7.

TextLineMetrics La classe TextLineMetrics contient des informations sur la position du texte et les unités de mesure d’une ligne de texte dans un champ de texte.Contient des informations sur la position du texte et les unités de mesure d’une ligne de texte dans un champ de texte. Object La classe TextLineMetrics contient des informations sur la position du texte et les unités de mesure d’une ligne de texte dans un champ de texte. Toutes les mesures sont en pixels. Les objets de cette classe sont renvoyés par la méthode flash.text.TextField.getLineMetrics().

Pour les mesures liées au champ de texte qui contient la ligne de texte (par exemple, la mesure de la « hauteur du champ de texte » dans le diagramme), consultez la section flash.text.TextField.

Le diagramme suivant indique les points et les unités de mesure d’un champ de texte et la ligne de texte contenu par le champ de texte :

L’exemple suivant crée les classes TextLineMetricsExample et LineMetricsReader pour imprimer un message dans Flash Player à l’aide d’un objet XML. Pour ce faire, exécutez la procédure suivante :
  1. Crée une propriété appelée label de type TextField.
  2. Le constructeur appelle configureAssets(), qui effectue les opérations suivantes :
    • Aligne la scène sur la partie supérieure gauche et sans redimensionnement.
    • Crée un objet TextField appelé label.
    • Active la couleur d’arrière-plan de label et définit la couleur sur blanc.
    • Permet au texte de label de couvrir plusieurs lignes avec la fonctionnalité de retour automatique à la ligne.
    • Affecte le résultat d’un appel à getLabelText() à la propriété text de label. La méthode getLabelText() crée une variable de type XML et l’affecte à un nœud XML appelé body, qui est ensuite rempli avec une phrase longue.
    • Ajoute label à la liste d’affichage à l’aide de addChild().
  3. Une méthode qui écoute les événements resize qui s’exécutent sur la scène est ensuite ajoutée en appelant resizeHandler(). Dès que la taille de la fenêtre Flash Player change, un événement RESIZE est distribué et produit les effets suivants :
    • draw() est appelée pour s’assurer que label s’affiche au centre de la scène et est entouré par un tampon de 10 pixels.
    • setTimeout() exécute ensuite showMetrics() après un bref délai. Le délai est ajouté car les unités de mesure de la ligne ne sont mises à jour que lorsque l’événement RESIZE s’est terminé et que l’opération d’actualisation de la scène est terminée.
    • showMetrics() affecte une variable TextLineMetrics appelée metrics au résultat d’un appel à getLineMetrics() et cette variable est ensuite transmise à une nouvelle occurrence de LineMetricsReader appelée reader. Les deux variables sont ensuite utilisées au sein d’appels à trace() pour imprimer la première et unique ligne de label et les informations fournies par l’occurrence LineMetricsReader par l’intermédiaire de sa méthode toString().
  4. Le constructeur entraîne une distribution unique de l’événement resize pour forcer label à se dessiner correctement lorsque le fichier SWF est chargé en premier.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; import flash.text.TextField; import flash.text.TextLineMetrics; import flash.utils.setTimeout; public class TextLineMetricsExample extends Sprite { private var gutter:int = 10; private var label:TextField; public function TextLineMetricsExample() { configureAssets(); configureListeners(); resizeHandler(new Event(Event.RESIZE)); } private function showMetrics():void { var metrics:TextLineMetrics = label.getLineMetrics(0); var reader:LineMetricsReader = new LineMetricsReader(metrics); trace("lineText: " + label.getLineText(0)); trace("metrics: " + reader); } private function configureAssets():void { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; label = new TextField(); label.background = true; label.backgroundColor = 0xFFFFFF; label.multiline = true; label.wordWrap = true; label.text = getLabelText(); addChild(label); } private function configureListeners():void { stage.addEventListener(Event.RESIZE, resizeHandler); } private function resizeHandler(event:Event):void { draw(); setTimeout(showMetrics, 100); } private function draw():void { label.x = gutter; label.y = gutter; label.width = stage.stageWidth - (gutter * 2); label.height = stage.stageHeight - (gutter * 2); } private function getLabelText():String { var text:XML = <body>The Flex product line enables developers to build rich Internet applications that blend the responsiveness of desktop software, the cross-platform reach of the web, and the expressiveness of the Flash Platform.</body> return text.toString(); } } } import flash.text.TextLineMetrics; class LineMetricsReader { private var metrics:TextLineMetrics; public function LineMetricsReader(metrics:TextLineMetrics) { this.metrics = metrics; } public function toString():String { return "[TextLineMetrics ascent:" + metrics.ascent + ", descent:" + metrics.descent + ", leading:" + metrics.leading + ", width:" + metrics.width + ", height:" + metrics.height + ", x:" + metrics.x + "]"; } }
flash.text.TextFieldTextLineMetrics Crée un objet TextLineMetrics.xNumberPosition gauche du premier caractère, en pixels. widthNumberLargeur du texte des lignes sélectionnées (pas nécessairement la totalité du texte), en pixels. heightNumberHauteur du texte des lignes sélectionnées (pas nécessairement la totalité du texte), en pixels. ascentNumberLongueur depuis la hauteur de la ligne de base jusqu’à celle du haut de la ligne, en pixels. descentNumberLongueur depuis la profondeur de la ligne de base jusqu’à celle du bas de la ligne, en pixels. leadingNumberMesure de la distance verticale entre les lignes de texte. Contient des informations sur la position du texte et les unités de mesure d’une ligne de texte dans un champ de texte. Crée un objet TextLineMetrics. L’objet TextLineMetrics contient des informations sur les unités de mesure d’une ligne de texte dans un champ de texte. Les objets de cette classe sont renvoyés par la méthode flash.text.TextField.getLineMetrics().

Consultez le diagramme de la présentation de cette classe pour mettre les propriétés en contexte.

Présentation de la classe TextLineMetricsflash.text.TextField.getLineMetrics()
ascent La valeur ascendante du texte est la longueur depuis la hauteur de la ligne de base jusqu’à celle du haut de la ligne, en pixels.Number La valeur ascendante du texte est la longueur depuis la hauteur de la ligne de base jusqu’à celle du haut de la ligne, en pixels. Consultez la mesure « Ascendante » du diagramme de présentation pour cette classe. Présentation de la classe TextLineMetricsdescent La valeur descendante du texte est la longueur de la ligne de base à la partie la plus basse de la ligne, en pixels.Number La valeur descendante du texte est la longueur de la ligne de base à la partie la plus basse de la ligne, en pixels. Consultez la mesure « Descendante » du diagramme de présentation pour cette classe. Présentation de la classe TextLineMetricsheight Valeur de hauteur du texte des lignes sélectionnées (pas nécessairement la totalité du texte), en pixels.Number Valeur de hauteur du texte des lignes sélectionnées (pas nécessairement la totalité du texte), en pixels. La hauteur de la ligne de texte n’inclut pas la hauteur de la marge de reliure. Consultez la mesure « Hauteur de ligne » du diagramme de présentation pour cette classe. Présentation de la classe TextLineMetricsleading La valeur d’interlignage est la mesure de la distance verticale entre les lignes de texte.Number La valeur d’interlignage est la mesure de la distance verticale entre les lignes de texte. Consultez la mesure « Interlignage » du diagramme de présentation pour cette classe. Présentation de la classe TextLineMetricswidth La valeur width correspond à la largeur du texte des lignes sélectionnées (pas nécessairement la totalité du texte), en pixels.Number La valeur width correspond à la largeur du texte des lignes sélectionnées (pas nécessairement la totalité du texte), en pixels. La largeur de la ligne de texte est différente de la largeur du champ de texte. La largeur de la ligne de texte se calcule par rapport à la largeur du champ de texte, moins une marge de reliure de 4 pixels (2 pixels de chaque côté). Consultez la mesure « Largeur de la ligne de texte » du diagramme de présentation pour cette classe. Présentation de la classe TextLineMetricsx Valeur x de la position gauche du premier caractère, en pixels.Number Valeur x de la position gauche du premier caractère, en pixels. Cette valeur inclut les largeurs de la marge, de l’indentation (le cas échéant) et de la marge de reliure. Consultez la section « Position x de la ligne de texte » du diagramme de présentation pour cette classe. Présentation de la classe TextLineMetrics
TextInteractionMode Classe qui définit le mode interactif sur un objet de champ de texte.Object Classe qui définit le mode interactif sur un objet de champ de texte. NORMAL Le mode d’interaction par défaut du champ de texte est NORMAL et varie selon la plate-forme.normalString Le mode d’interaction par défaut du champ de texte est NORMAL et varie selon la plate-forme. Sur les ordinateurs de bureau, le mode normal permet de faire défiler le champ de texte et de le sélectionner. Sur les plates-formes mobiles comme Android, le mode normal permet uniquement le défilement du texte et non sa sélection. SELECTION Sur les plates-formes mobiles comme Android, le champ de texte commence en mode normal (ce qui implique le défilement et le mode non sélectionnable).selectionString Sur les plates-formes mobiles comme Android, le champ de texte commence en mode normal (ce qui implique le défilement et le mode non sélectionnable). L’utilisateur peut passer au mode de sélection via le menu contextuel intégré de l’objet de champ de texte. StyleSheet La classe StyleSheet permet de créer un objet feuille de style contenant des règles de formatage de texte pour la taille et la couleur de la police ainsi que d’autres styles de formatage.Permet de créer un objet StyleSheet. flash.events:EventDispatcher La classe StyleSheet permet de créer un objet feuille de style contenant des règles de formatage de texte pour la taille et la couleur de la police ainsi que d’autres styles de formatage. Vous pouvez ensuite appliquer des styles définis par une feuille de style à un objet TextField qui contient du texte au format HTML ou XML. Le texte contenu dans l’objet TextField est ensuite automatiquement mis en forme en fonction des styles de balises définis par l’objet StyleSheet. Vous pouvez utiliser des styles de texte pour définir de nouvelles balises de formatage, redéfinir des balises HTML intégrées ou créer des classes de style qui peuvent être appliquées à certaines balises HTML.

Pour appliquer des styles à un objet TextField, attribuez l’objet feuille de style à une propriété styleSheet.

Remarque : tout champ de texte associé à une feuille de style n’est pas modifiable. En d’autres termes, un champ de texte dont la propriété type est définie sur TextFieldType.INPUT applique la feuille de style au texte par défaut du champ de texte, qui à partir de ce moment ne peut plus être modifié par l’utilisateur. Préférez la classe TextFormat pour affecter des styles aux champs de saisie.

Flash Player prend en charge un sous-ensemble de propriétés dans le cadre de la spécification CSS1 d’origine (www.w3.org/TR/REC-CSS1). Le tableau suivant présente les propriétés et les valeurs de la feuille de style en cascade (CSS) prises en charge, ainsi que les noms de propriétés ActionScript correspondants (chaque nom de propriété ActionScript est tiré du nom de propriété CSS correspondant. Si le nom contient un trait d’union, le trait d’union est omis et le caractère suivant est une majuscule).

Propriété CSSPropriété ActionScriptUtilisation et valeurs prises en chargecolorcolorSeules les valeurs hexadécimales de couleur sont supportées. Les couleurs nommées (comme blue) ne sont pas prises en charge. Les couleurs sont écrites au format suivant : #FF0000.displaydisplayLes valeurs supportées sont inline, block et none.font-familyfontFamilyListe des polices à utiliser, séparées par des virgules, classées par ordre de choix décroissant. Tous les noms de familles de polices peuvent être utilisés. Si vous spécifiez un nom de police générique, il est converti dans la police de périphérique appropriée. Les conversions de police suivantes sont disponibles : mono est converti en _typewriter, sans-serif en _sans et serif en _serif.font-sizefontSize. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents.font-stylefontStyleLes valeurs reconnues sont normal et italic.font-weightfontWeightLes valeurs reconnues sont normal et bold.crénagecrénageLes valeurs reconnues sont true et false. Le crénage est supporté uniquement pour les polices incorporées. Certaines polices, telles que Courier New, ne supportent pas le crénage. La propriété de crénage n’est supportée que dans les fichiers SWF créés dans Windows, pas dans les fichiers SWF créés sur Macintosh. Cependant, ces fichiers SWF peuvent être lus dans des versions de Flash Player autres que Windows et le crénage s’applique encore.leadingleadingLa quantité d’espace répartie uniformément entre les lignes. La valeur spécifie le nombre de pixels à ajouter après chaque ligne. Une valeur négative comprime l’espace entre les lignes. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents.letter-spacingletterSpacingLa quantité d’espace répartie uniformément entre les caractères. La valeur spécifie le nombre de pixels à ajouter après chaque caractère. Une valeur négative comprime l’espace entre les caractères. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents.margin-leftmarginLeftSeule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. margin-rightmarginRightSeule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents.text-aligntextAlignLes valeurs reconnues sont left, center, right et justify.text-decorationtextDecorationLes valeurs reconnues sont none et underline.text-indenttextIndentSeule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents.

Vous pouvez utiliser la classe StyleSheet pour procéder à un rendu de texte de bas niveau. Cependant, dans Flex, vous devez normalement utiliser les contrôles Label, Text, TextArea et TextInput pour traiter le texte.

L’exemple suivant crée une feuille de style et applique une police en gras et rouge au style du titre. package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class StyleSheetExample extends Sprite { public function StyleSheetExample() { var style:StyleSheet = new StyleSheet(); var heading:Object = new Object(); heading.fontWeight = "bold"; heading.color = "#FF0000"; var body:Object = new Object(); body.fontStyle = "italic"; style.setStyle(".heading", heading); style.setStyle("body", body); var label:TextField = new TextField(); label.styleSheet = style; label.htmlText = "<body><span class='heading'>Hello </span>World...</body>"; addChild(label); } } }
flash.text.TextFieldStyleSheet Crée un objet StyleSheet. Crée un objet StyleSheet. flash.text.StyleSheet.getStyle()clear Supprime l’ensemble des styles de l’objet feuille de style spécifié. Supprime l’ensemble des styles de l’objet feuille de style spécifié. getStyle Renvoie une copie de l’objet style associé au style spécifié appelé styleName.Un objet. ObjectstyleNameStringChaîne qui spécifie le nom du style à extraire. Renvoie une copie de l’objet style associé au style spécifié appelé styleName. Si aucun objet style n’est associé à styleName, null est renvoyé. Consultez l’exemple de la méthode parseCSS() ou transform() pour une illustration de l’utilisation de la méthode getStyle(). flash.text.StyleSheet.setStyle()parseCSS Analyse le CSS dans CSSText et charge la feuille de style en même temps.CSSTextStringLe texte CSS à analyser (une chaîne). Analyse le CSS dans cssText et charge la feuille de style en même temps. Analyse le CSS dans CSSText et charge la feuille de style en même temps. Si l’un des styles de CSSText existe déjà dans styleSheet, les propriétés de styleSheet sont conservées et seules celles de CSSText sont ajoutées ou modifiées dans styleSheet.

Pour développer la capacité d’analyse CSS d’origine, vous pouvez annuler cette méthode en créant une sous-classe de la classe StyleSheet.

Dans l’exemple suivant, lorsqu’un utilisateur clique sur le fichier de texte, les styles CSS, chargés à partir d’un fichier, sont appliqués au contenu.

Dans le constructeur, un champ de texte multiligne est créé et son contenu est défini sur une chaîne au format HTML (le titre HTML et les balises Span ne sont pas rendus tant que le style CSS n’est pas appliqué). Un objet URLRequest est créé pour identifier l’emplacement du fichier CSS ; pour cet exemple, ce fichier se trouve dans le même répertoire que le fichier SWF. Le fichier est chargé avec un objet URLLoader. Deux écouteurs d’événement sont ajoutés pour l’objet URLLoader loader. Si une erreur d’E/S survient, la méthode errorHandler() est invoquée et affiche un message d’erreur dans le champ de texte. Une fois toutes les données reçues et placées dans la propriété data de l’objet URLLoader loader, la méthode loaderCompleteHandler() est invoquée. Cette méthode analyse les styles CSS à partir des données chargées depuis le fichier et renseigne l’objet StyleSheet sheet avec les définitions de style.

Lorsque l’utilisateur clique sur le champ de texte, la méthode clickHandler() est appelée. L’instruction if de la méthode clickHandler() s’assure que le chargement du fichier est terminé avant d’appliquer la feuille de style au champ de texte. Pour que la feuille de style prenne effet, la propriété htmlText doit être réaffectée au contenu après que la feuille de style ait été affectée au champ de texte. Les valeurs des propriétés CSS font-family et color de la balise de titre sont également ajoutées au contenu du champ de texte (les valeurs de ces propriétés seront « undefined » si les valeurs de la feuille de style n’ont pas pris effet).

L’exemple suivant est un contenu de fichier CSS qui peut être utilisé avec cet exemple. Avant d’exécuter cet exemple, créez un fichier texte, copiez dans ce dernier le contenu CSS suivant, puis enregistrez le fichier sous le nom test.css et placez-le dans le même répertoire que le fichier SWF.

   p {
      font-family: Times New Roman, Times, _serif;
      font-size: 14;
       font-Style: italic;
        margin-left: 10;  
   }
   h1 {
      font-family: Arial, Helvetica, _sans;
      font-size: 20;
      font-weight: bold;
   }
   .bluetext {
      color: #0000CC;
   }
 
package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.MouseEvent; public class StyleSheet_parseCSSExample extends Sprite { private var loader:URLLoader = new URLLoader(); private var field:TextField = new TextField(); private var exampleText:String = "<h1>This is a headline</h1>" + "<p>This is a line of text. <span class='bluetext'>" + "This line of text is colored blue.</span></p>"; private var sheet:StyleSheet = new StyleSheet(); private var cssReady:Boolean = false; public function StyleSheet_parseCSSExample() { field.x = 10; field.y = 10; field.background = true; field.multiline = true; field.autoSize = TextFieldAutoSize.LEFT; field.htmlText = exampleText; field.addEventListener(MouseEvent.CLICK, clickHandler); addChild(field); var req:URLRequest = new URLRequest("test.css"); loader.load(req); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } public function errorHandler(e:IOErrorEvent):void { field.htmlText = "Couldn't load the style sheet file."; } public function loaderCompleteHandler(event:Event):void { sheet.parseCSS(loader.data); cssReady = true; } public function clickHandler(e:MouseEvent):void { if (cssReady) { field.styleSheet = sheet; field.htmlText = exampleText; var style:Object = sheet.getStyle("h1"); field.htmlText += "<p>Headline font-family is: " + style.fontFamily + "</p>"; field.htmlText += "<p>Headline color is: " + style.color + "</p>"; } else { field.htmlText = "Couldn't apply the CSS styles."; } } } }
setStyle Ajoute un nouveau style avec le nom spécifié à l’objet feuille de style.styleNameStringChaîne qui spécifie le nom du style à ajouter à la feuille de style. styleObjectObjectUn objet qui décrit le style, ou null. Ajoute un nouveau style avec le nom spécifié à l’objet feuille de style. Si le style nommé n’existe pas déjà dans la feuille de style, il est ajouté. Si le style nommé n’existe pas déjà dans la feuille de style, il est remplacé. Si le paramètre styleObject est null, le style nommé est supprimé.

Flash Player crée une copie de l’objet style que vous transmettez à cette méthode.

Vous trouverez une liste des styles supportés dans le tableau de description de la classe StyleSheet.

transform Développe la capacité d’analyse du fichier CSS.Objet TextFormat contenant le résultat du mappage des règles CSS en propriétés de format de texte. flash.text:TextFormatformatObjectObjectObjet qui décrit le style, contenant des règles de style en tant que propriétés de l’objet, ou null. Développe la capacité d’analyse du fichier CSS. Les développeurs avancés peuvent annuler cette méthode en développant la classe StyleSheet. Cet exemple utilise la méthode transform() pour appliquer un style à partir d’un fichier CSS à un objet TextFormat pour un champ de texte.

Les styles CSS sont généralement utilisés pour mettre en forme du contenu HTML. Toutefois, via la méthode transform() d’un objet StyleSheet, des styles CSS peuvent être affectés à un objet TextFormat, puis appliqués à n’importe quel champ de texte.

Les objets URLRequest et URLLoader sont utilisés pour charger le fichier CSS. Un écouteur d’événement est ajouté pour l’événement Event.COMPLETE, qui survient après que toutes les données ont été reçues et placées dans la propriété data de l’objet URLLoader loader. La méthode loaderCompleteHandler() analyse ensuite le CSS à partir des données chargées depuis le fichier et renseigne l’objet StyleSheet sheet avec les styles. La méthode getStyle() de la feuille de style récupère les styles de paragraphe HTML, qui sont ensuite attribués à l’objet TextFormat cssFormat via la méthode transform() de la feuille de style. Enfin, le format de texte par défaut du champ de texte inputField est défini sur le nouveau format de texte cssFormat.

package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldType; import flash.events.IOErrorEvent; import flash.events.Event; public class StyleSheet_transformExample extends Sprite { private var loader:URLLoader = new URLLoader(); private var inputField:TextField = new TextField(); private var sheet:StyleSheet = new StyleSheet(); public function StyleSheet_transformExample() { inputField.x = 10; inputField.y = 10; inputField.background = true; inputField.width = 300; inputField.height = 200; inputField.wordWrap = true; inputField.multiline = true; inputField.type = TextFieldType.INPUT; addChild(inputField); var req:URLRequest = new URLRequest("test.css"); loader.load(req); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } public function errorHandler(e:IOErrorEvent):void { inputField.htmlText = "Couldn't load the style sheet file."; } public function loaderCompleteHandler(event:Event):void { var cssFormat:TextFormat = new TextFormat(); sheet.parseCSS(loader.data); var style:Object = sheet.getStyle("p"); cssFormat = sheet.transform(style); inputField.defaultTextFormat = cssFormat; } } }
flash.text.TextFormat
styleNames Tableau qui contient les noms (sous formes de chaînes) de tous les styles enregistrés dans cette feuille de style.ArrayRenvoie les noms de tous les styles enregistrés dans cette feuille de style. Tableau qui contient les noms (sous formes de chaînes) de tous les styles enregistrés dans cette feuille de style.
TextSnapshot Les objets TextSnapshot permettent de travailler avec du texte statique dans un clip.Object Les objets TextSnapshot permettent de travailler avec du texte statique dans un clip. Vous pouvez les utiliser, par exemple, pour mettre en forme du texte avec une plus grande précision que celle permise par un texte dynamique, mais le texte est toujours en lecture seule.

Vous n’utilisez pas de constructeur pour créer un objet TextSnapshot ; il est renvoyé par la propriété flash.display.DisplayObjectContainer.textSnapshot.

flash.display.DisplayObjectContainer.textSnapshotfindText Recherche l’objet TextSnapshot spécifié et renvoie la position de la première occurrence de textToFind figurant au niveau de ou après beginIndex.La position dans l’index de base zéro de la première occurrence du texte spécifié, ou -1. intbeginIndexintSpécifie le point de départ pour la recherche du texte spécifié. textToFindStringSpécifie le texte à rechercher. Si vous spécifiez un littérale de chaîne au lieu d’une variable de type String, mettez la chaîne entre guillemets. caseSensitiveBooleanSpécifie si la casse du texte doit correspondre à celle de la chaîne de textToFind. Recherche l’objet TextSnapshot spécifié et renvoie la position de la première occurrence de textToFind figurant au niveau de ou après beginIndex. Si textToFind n’est pas détecté, la méthode renvoie -1. flash.text.TextSnapshot.getText()getSelectedText Renvoie une chaîne qui contient tous les caractères spécifiés par la méthode setSelected() correspondante.Chaîne qui contient tous les caractères spécifiés par la commande setSelected() correspondante. StringincludeLineEndingsBooleanfalseUne valeur booléenne qui spécifie si des caractères de nouvelle ligne sont insérés dans la chaîne renvoyée, le cas échéant. La valeur par défaut est false. Renvoie une chaîne qui contient tous les caractères spécifiés par la méthode setSelected() correspondante. Si aucun caractère n’est spécifié par la méthode setSelected(), une chaîne vide est renvoyée.

Si vous transmettez true pour includeLineEndings, des caractères de nouvelle ligne sont insérés dans la chaîne de renvoi et cette dernière peut être plus longue que la plage d’entrée. Si includeLineEndings est false ou omis, la méthode renvoie le texte sélectionné sans ajouter de caractères.

flash.text.TextSnapshot.getSelected()flash.text.TextSnapshot.setSelected()
getSelected Renvoie une valeur booléenne qui spécifie si un objet TextSnapshot contient du texte sélectionné dans la plage spécifiée.Valeur booléenne indiquant si, dans la plage donnée, au moins un caractère a été sélectionné par la méthode setSelected() correspondante (true) ; sinon, false. BooleanbeginIndexintIndique la position du premier caractère à examiner. Les valeurs valides pour beginIndex vont de 0 à TextSnapshot.charCount - 1. Si beginIndex est une valeur négative, 0 est utilisé. endIndexintValeur supérieure à l’index du dernier caractère à examiner. Les valeurs valides de endIndex sont comprises entre 0 et charCount. Le caractère indexé par le paramètre endIndex n’est pas inclus dans la chaîne extraite. Si ce paramètre est omis, charCount est utilisé. Lorsque cette valeur est inférieure ou égale à la valeur de beginIndex, beginIndex + 1 est utilisé. Renvoie une valeur booléenne qui spécifie si un objet TextSnapshot contient du texte sélectionné dans la plage spécifiée.

Pour rechercher tous les caractères, transmettez une valeur 0 pour start et charCount (ou un grand nombre quelconque) pour end. Pour rechercher un seul caractère, transmettez au paramètre end une valeur égale au paramètre start plus un.

flash.text.TextSnapshot.charCountflash.text.TextSnapshot.getText()flash.text.TextSnapshot.getSelectedText()flash.text.TextSnapshot.setSelected()
getTextRunInfo Renvoie un tableau d’objets contenant des informations sur un segment de texte.Un tableau d’objets dans lequel chaque objet contient des informations sur un caractère spécifique qui est contenu dans la plage de caractères spécifiée par les paramètres beginIndex et endIndex. Chaque objet contient les onze propriétés suivantes :
  • indexInRun Index d’entiers à base zéro du caractère (par rapport à l’ensemble de la chaîne plutôt qu’au segment de texte sélectionné).
  • selected Valeur booléenne indiquant si le caractère est sélectionné comme true ; false dans le cas contraire.
  • font Le nom de la police de caractère.
  • color La valeur combinée alpha et couleur du caractère. Les deux premiers nombres hexadécimaux représentent la valeur alpha, les autres nombres représentent la valeur couleur.
  • height La hauteur des caractères, en pixels.
  • matrix_a, matrix_b, matrix_c, matrix_d, matrix_tx et matrix_ty Valeurs de la matrice qui définit la transformation géométrique du caractère. La matrice d’un texte normal, droit est toujours de la forme [1 0 0 1 x y], où x et y sont les positions du caractère dans le clip parent, indépendamment de la hauteur du texte. La matrice se trouve dans le système de coordonnées du clip parent et ne contient aucune transformations susceptibles de se trouver sur ce clip même (ou son parent).
  • corner0x, corner0y, corner1x, corner1y, corner2x, corner2y, corner3x et corner3y Les coins du cadre de sélection du caractère, en fonction du système de coordonnées du clip parent. Ces valeurs ne sont disponibles que si la police utilisée par le caractère est intégrée dans le fichier SWF.
Array
beginIndexintLa valeur d’index du premier caractère dans une la plage de caractères d’un objet TextSnapshot. endIndexintLa valeur d’index du dernier caractère dans une la plage de caractères d’un objet TextSnapshot.
Renvoie un tableau d’objets contenant des informations sur un segment de texte. Chaque objet correspond à un caractère dans la plage de caractères spécifiée par les deux paramètres de méthode.

Remarque : l’utilisation de la méthode getTextRunInfo() pour une plage de texte volumineuse peut générer le renvoi d’un objet volumineux. Adobe recommande de limiter la plage de texte définie par les paramètres beginIndex et endIndex.

Classe Matrix
getText Renvoie une chaîne qui contient tous les caractères spécifiés par les paramètres beginIndex et endIndex.Chaîne contenant les caractères dans la plage spécifiée, ou une chaîne vide si aucun caractère n’est détecté dans la plage spécifiée. StringbeginIndexintIndique la position du premier caractère à inclure dans la chaîne renvoyée. Les valeurs valides pour beginIndex vont de 0 à charCount - 1. Si beginIndex est une valeur négative, 0 est utilisé. endIndexintValeur supérieure à l’index du dernier caractère à examiner. Les valeurs valides de endIndex sont comprises entre 0 et charCount. Le caractère indexé par le paramètre endIndex n’est pas inclus dans la chaîne extraite. Si ce paramètre est omis, charCount est utilisé. Lorsque cette valeur est inférieure ou égale à la valeur de beginIndex, beginIndex + 1 est utilisé. includeLineEndingsBooleanfalseValeur booléenne qui spécifie si les caractères de nouvelle ligne sont insérés (true) ou s’ils ne sont pas insérés (false) dans la chaîne renvoyée. La valeur par défaut est false. Renvoie une chaîne qui contient tous les caractères spécifiés par les paramètres beginIndex et endIndex. Si aucun caractère n’est sélectionné, une chaîne vide est renvoyée.

Pour renvoyer tous les caractères, transmettez une valeur 0 pour beginIndex et charCount (ou un grand nombre quelconque) pour endIndex. Pour renvoyer un seul caractère, transmettez une valeur de beginIndex + 1 pour endIndex.

Si vous transmettez une valeur true pour includeLineEndings, des caractères de nouvelle ligne sont insérés dans la chaîne renvoyée à l’emplacement jugé nécessaire. Dans ce cas, la chaîne renvoyée risque de dépasser la plage de saisie. Si includeLineEndings est false ou omis, le texte sélectionné est renvoyé sans caractères supplémentaires.

flash.text.TextSnapshot.charCountflash.text.TextSnapshot.getSelectedText()
hitTestTextNearPos Permet de déterminer lequel des caractères contenus dans un objet TextSnapshot se trouve sur ou est proche des coordonnées spécifiées x, y du clip contenant le texte dans l’objet TextSnapshot.Nombre représentant la valeur d’index du caractère qui est le plus proche des coordonnées x, y spécifiées. Renvoie -1 si aucun caractère n’est détecté ou si la police ne contient pas d’informations métriques de caractères. NumberxNumberNombre qui représente la coordonnée x du clip qui contient le texte. yNumberNombre qui représente la coordonnée y du clip qui contient le texte. maxDistanceNumber0Nombre qui représente la distance maximale de x, y dans laquelle une recherche de texte peut être lancée. Cette distance est mesurée à partir du point central de chaque caractère. La valeur par défaut est 0. Permet de déterminer lequel des caractères contenus dans un objet TextSnapshot se trouve sur ou est proche des coordonnées spécifiées x, y du clip contenant le texte dans l’objet TextSnapshot.

Si vous omettez ou transmettez une valeur 0 pour maxDistance, l’emplacement spécifié par les coordonnées x, y doit se trouver à l’intérieur du cadre de sélection de l’objet TextSnapshot.

Cette méthode fonctionne correctement uniquement pour les polices qui incluent des informations métriques de caractères ; par défaut cependant, l’outil de création de Flash n’inclut pas ces informations pour les champs de texte statique. Par conséquent, il se peut que la méthode renvoie -1 au lieu d’une valeur d’index. Pour garantir qu’une valeur d’indexation est renvoyée, vous pouvez forcer l’outil de création de Flash à inclure les informations métriques de caractères pour une police. Pour ce faire, ajoutez un champ de texte dynamique qui utilise cette police, sélectionnez les options des caractères pour ce champ de texte dynamique et spécifiez que les polices vectorielles doivent être intégrées pour au moins un caractère. (le choix des caractères spécifiés et la présence ou non des caractères utilisés dans les champs de texte statique en question importent peu).

flash.display.DisplayObject.xflash.display.DisplayObject.y
setSelectColor Spécifie la couleur à utiliser lors de la mise en surbrillance des caractères qui ont été sélectionnés avec la méthode setSelected().hexColoruint0xFFFF00La couleur utilisée pour la bordure placée autour des caractères qui ont été sélectionnés avec la commande setSelected() correspondante, exprimée au format hexadécimal (0xRRGGBB). Spécifie la couleur à utiliser lors de la mise en surbrillance des caractères qui ont été sélectionnés avec la méthode setSelected(). La couleur est toujours opaque ; vous ne pouvez pas spécifier de valeur de transparence.

Cette méthode fonctionne correctement uniquement pour les polices qui incluent des informations métriques de caractères ; par défaut cependant, l’outil de création de Flash n’inclut pas ces informations pour les champs de texte statique. Par conséquent, il se peut que la méthode renvoie -1 au lieu d’une valeur d’index. Pour garantir qu’une valeur d’index est renvoyée, vous pouvez forcer l’outil de création de Flash à inclure les informations métriques de caractères pour une police. Pour ce faire, ajoutez un champ de texte dynamique qui utilise cette police, sélectionnez les options des caractères pour ce champ de texte dynamique et spécifiez que les polices vectorielles doivent être intégrées pour au moins un caractère. (le choix des caractères spécifiés et la présence ou non des caractères utilisés dans les champs de texte statique en question importent peu).

flash.text.TextSnapshot.setSelected()
setSelected Spécifie une plage de caractères dans un objet TextSnapshot à sélectionner ou désélectionner.beginIndexintIndique la position du premier caractère à sélectionner. Les valeurs valides pour beginIndex vont de 0 à charCount - 1. Si beginIndex est une valeur négative, 0 est utilisé. endIndexintEntier qui correspond à 1+ l’index du dernier caractère à examiner. Les valeurs valides de end sont comprises entre 0 et charCount. Le caractère indexé par le paramètre end n’est pas inclus dans la chaîne extraite. Si vous omettez ce paramètre, TextSnapshot.charCount est utilisé. Si la valeur de beginIndex est inférieure ou égale à la valeur endIndex, beginIndex + 1 est utilisée. selectBooleanUne valeur booléenne qui spécifie si le texte doit être sélectionné (true) ou désélectionné (false). Spécifie une plage de caractères dans un objet TextSnapshot à sélectionner ou désélectionner. Les caractères qui sont sélectionnés sont dessinés sur fond de rectangle coloré, correspondant au cadre de sélection du caractère. La couleur du cadre de sélection est défini par setSelectColor().

Pour sélectionner ou désélectionner tous les caractères, transmettez la valeur 0 pour beginIndex et charCount (ou un grand nombre quelconque) pour endIndex. Pour spécifier un seul caractère, transmettez une valeur de start + 1 pour endIndex.

Les caractères étant individuellement marqués comme sélectionnés, vous pouvez appeler cette méthode plusieurs fois pour sélectionner plusieurs caractères ; c’est-à-dire, l’utilisation de cette méthode ne désélectionne pas les autres caractères qui ont été définis par cette méthode.

Le rectangle de couleur qui indique qu’une sélection s’affiche uniquement pour les polices qui incluent des informations sur les unités de mesure des caractères. Par défaut, Flash n’inclut pas ces informations pour les champs de texte statiques. Dans la plupart des cas, ce comportement signifie que le texte qui est sélectionné ne semblera pas sélectionné à l’écran. Pour garantir que l’ensemble du texte sélectionné s’affiche comme tel, vous pouvez forcer l’outil de création de Flash à inclure les informations métriques de caractères pour une police. Pour ce faire, ajoutez un champ de texte dynamique qui utilise cette police, sélectionnez les options des caractères pour ce champ de texte dynamique et spécifiez que les polices vectorielles doivent être intégrées pour au moins un caractère. Le choix des caractères spécifiés et la présence ou non des caractères utilisés dans les champs de texte statique en question importent peu.

flash.text.TextSnapshot.charCountflash.text.TextSnapshot.setSelectColor()
charCount Nombre de caractères dans un objet TextSnapshot.int Nombre de caractères dans un objet TextSnapshot. flash.text.TextSnapshot.getText()
TextFieldAutoSize La classe TextFieldAutoSize énumère les valeurs constantes utilisées lors de la définition de la propriété autoSize de la classe TextField.Object La classe TextFieldAutoSize énumère les valeurs constantes utilisées lors de la définition de la propriété autoSize de la classe TextField. flash.text.TextField.autoSizeCENTER Spécifie que le texte doit être traité comme centré.centerString Spécifie que le texte doit être traité comme centré. Tout redimensionnement d’une ligne de champ de texte est réparti de façon égale à droite et à gauche. LEFT Spécifie que le texte doit être traité comme justifié à gauche, ce qui signifie que le côté gauche du champ de texte reste fixe et que tout ajustement de la longueur de ligne se fait à droite.leftString Spécifie que le texte doit être traité comme justifié à gauche, ce qui signifie que le côté gauche du champ de texte reste fixe et que tout ajustement de la longueur de ligne se fait à droite. NONE Spécifie qu’aucun redimensionnement ne doit se produire.noneString Spécifie qu’aucun redimensionnement ne doit se produire. RIGHT Spécifie que le texte doit être traité comme justifié à droite, ce qui signifie que le côté droit du champ de texte reste fixe et que tout ajustement de la longueur de ligne se fait à gauche.rightString Spécifie que le texte doit être traité comme justifié à droite, ce qui signifie que le côté droit du champ de texte reste fixe et que tout ajustement de la longueur de ligne se fait à gauche. TextFieldType La classe TextFieldType énumère les valeurs constantes utilisées lors de la définition de la propriété type de la classe TextField.Object La classe TextFieldType énumère les valeurs constantes utilisées lors de la définition de la propriété type de la classe TextField. flash.text.TextField.typeDYNAMIC Utilisé pour spécifier un champ de texte dynamique.dynamicString Utilisé pour spécifier un champ de texte dynamic. INPUT Utilisé pour spécifier un champ de texte de saisie.inputString Utilisé pour spécifier un champ de texte de type input. FontStyle La classe FontStyle fournit les valeurs de la classe TextRenderer.Object La classe FontStyle fournit les valeurs de la classe TextRenderer. flash.text.TextRendererBOLD_ITALIC Définit le style combiné, gras et italiques, d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable().boldItalicString Définit le style combiné, gras et italiques, d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable(). Utilisez la syntaxe FontStyle.BOLD_ITALIC. flash.text.TextRenderer.setAdvancedAntiAliasingTable()BOLD Définit le style gras d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable().Bob Pappas boldString Définit le style gras d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable(). Utilisez la syntaxe FontStyle.BOLD. flash.text.TextRenderer.setAdvancedAntiAliasingTable()ITALIC Définit le style italiques d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable().italicString Définit le style italiques d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable(). Utilisez la syntaxe FontStyle.ITALIC. flash.text.TextRenderer.setAdvancedAntiAliasingTable()REGULAR Définit le style ordinaire d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable().Bob Pappas regularString Définit le style ordinaire d’une police pour le paramètre fontStyle dans la méthode setAdvancedAntiAliasingTable(). Utilisez la syntaxe FontStyle.REGULAR.. flash.text.TextRenderer.setAdvancedAntiAliasingTable()