Documentation Flash CS3 |
|||
| Programmation avec ActionScript 3.0 > Utilisation de texte > Sélection et manipulation de texte | |||
Vous pouvez sélectionner du texte, qu'il soit dynamique ou saisi. Les propriétés et méthodes de sélection de texte de la classe TextField utilise des positions d'index pour déterminer l'étendue du texte à manipuler. Vous pouvez donc programmer la sélection du texte saisi ou dynamique même si vous n'en connaissez pas le contenu.
|
REMARQUE |
|
Dans l'outil de création Flash, si vous activez l'option sélectionnable pour un champ de texte statique, le champ texte exporté et placé dans la liste d'affichage est un champ texte dynamique normal. |
La propriété flash.text.TextField.selectable a la valeur true par défaut. Vous pouvez en outre sélectionner du texte par code à l'aide de la méthode setSelection().
Par exemple, pour sélectionner un texte spécifique dans un champ texte lorsque l'utilisateur clique dans ce dernier :
var myTextField:TextField = new TextField();
myTextField.text = "No matter where you click on this text field the TEXT IN ALL CAPS is selected.";
myTextField.autoSize = TextFieldAutoSize.LEFT;
addChild(myTextField);
addEventListener(MouseEvent.CLICK, selectText);
function selectText(event:MouseEvent):void
{
myTextField.setSelection(49, 65);
}
De même, pour que le texte d'un champ texte soit sélectionné dès son affichage initial, créez une fonction de gestion d'événement qui sera appelée lorsque le champ texte sera ajouté à la liste d'affichage.
Les propriétés selectionBeginIndex et selectionEndIndex de la classe TextField, qui sont en lecture seule (et ne peuvent donc pas être utilisées à l'aide de code pour sélectionner du texte), permettent également de capturer la sélection actuelle effectuée par l'utilisateur. Par ailleurs, les champs de texte saisi peuvent utiliser la propriété caretIndex.
Par exemple, ce code renvoie les valeurs d'index du texte sélectionné par l'utilisateur :
var myTextField:TextField = new TextField();
myTextField.text = "Please select the TEXT IN ALL CAPS to see the index values for the first and last letters.";
myTextField.autoSize = TextFieldAutoSize.LEFT;
addChild(myTextField);
addEventListener(MouseEvent.MOUSE_UP, selectText);
function selectText(event:MouseEvent):void
{
trace("First letter index position: " + myTextField.selectionBeginIndex);
trace("Last letter index position: " + myTextField.selectionEndIndex);
}
Vous pouvez également appliquer un ensemble de propriétés de l'objet TextFormat à la sélection pour modifier l'aspect du texte. Pour en savoir plus sur l'application des propriétés TextFormat au texte sélectionné, voir Formatage de plages de texte au sein d'un champ texte.
Flash CS3
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000226.html