Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > Utilización de texto > Selección y manipulación de texto | |||
Se puede seleccionar texto dinámico o de entrada. Como las propiedades y los métodos de selección de texto de la clase TextField utilizan posiciones de índice para establecer el rango de texto que se va a manipular, se puede seleccionar mediante programación texto dinámico o de entrada aunque no se conozca su contenido.
|
NOTA |
|
En la herramienta de edición de Flash, si se elige la opción seleccionable en un campo de texto estático, el campo de texto que se exporta y coloca en la lista de visualización es un campo de texto dinámico normal. |
El valor de la propiedad flash.text.TextField.selectable es true de manera predeterminada, y se puede seleccionar texto mediante programación a través del método setSelection().
Por ejemplo, se puede establecer texto específico de un campo de texto que debe ser seleccionado cuando el usuario haga clic en el campo de texto:
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 forma similar, si se desea que se seleccione texto de un campo de texto como el texto que se mostrará inicialmente, se debe crear una función de controlador de eventos a la que se llama cuando se añade texto a la lista de visualización.
Las propiedades selectionBeginIndex y selectionEndIndex de la clase TextField, que son de "sólo lectura" para que no se pueden establecer sus valores mediante programación, pueden utilizarse para capturar lo que el usuario haya seleccionado actualmente. Además, los campos de entrada de texto pueden utilizar la propiedad caretIndex.
Por ejemplo, el código siguiente hace un seguimiento de lo valores de índice de texto seleccionado por el usuario:
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);
}
Se puede aplicar una colección de propiedades de objeto TextFormat a la selección para cambiar el aspecto del texto. Para más información sobre cómo aplicar una colección de propiedades de TextFormat a texto seleccionado, consulte Formato de rangos de texto en un campo de texto.
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000226.html