ActionScript - Hacer que el cursor permanezca junto al último carácter

 
Vista:

Hacer que el cursor permanezca junto al último carácter

Publicado por Mamenchu (1 intervención) el 30/11/2012 17:23:06
Hola amigos.

Cuando hemos introducido algunos caracteres en una caja de texto de entrada en Flash MX 2004 profesional y hacemos clic fuera de la caja de texto perdemos el foco. Por el momento he conseguido recuperar el foco en la misma caja de texto, pero me aparecen seleccionados los caracteres que ya había introducido. Lo que quiero es que se pueda recuperar el foco en la caja de texto que está activa, pero que el cursor aparezca al junto al último carácter que hemos introducido, para que podamos seguir con la introducción de texto.

¿Alguien puede ayudarme?

Muchas gracias de antemano.

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Recuperar el foco en una caja de texto en Flash MX 2004 sin seleccionar el texto previo

Publicado por Alejandro (369 intervenciones) el 28/06/2023 00:55:49
Para recuperar el foco en una caja de texto en Flash MX 2004 y posicionar el cursor junto al último carácter introducido, puedes utilizar las propiedades `caretIndex` y `setSelection()` de la clase `Selection` de ActionScript. Aquí tienes un ejemplo de cómo puedes lograrlo:

1
2
3
4
5
6
7
8
9
10
11
12
import flash.text.TextField;
import flash.events.FocusEvent;
import flash.text.Selection;
 
// Supongamos que tu caja de texto tiene el nombre de instancia "miCajaTexto"
miCajaTexto.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut);
 
function onFocusOut(event:FocusEvent):void {
    var textField:TextField = event.target as TextField;
    var caretIndex:int = textField.caretIndex;
    Selection.setSelection(caretIndex, caretIndex);
}

Este código escucha el evento `FocusEvent.FOCUS_OUT` en la caja de texto y, al perder el foco, recupera el índice del cursor en la caja de texto utilizando la propiedad `caretIndex`. Luego, utiliza el método `setSelection()` de la clase `Selection` para establecer la selección del texto en el índice del cursor. Al establecer el inicio y el fin de la selección en el mismo índice, el cursor aparecerá junto al último carácter introducido.

Recuerda que este código asume que tienes una caja de texto con el nombre de instancia "miCajaTexto" en tu película de Flash MX 2004. Asegúrate de ajustar el nombre de instancia en el código según corresponda.

Espero que esto te sea útil. ¡Estoy aquí para ayudar!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar