Creo que mi mensaje anterior no llego, va:
Si ocupas el evento onPress del contenedor del texto, estaras
transformando todo a boton, por tanto no podras acceder al texto interno
(aunq lo selecciones con AS). La solucion va por borrar el onPress al
seleccionar, y reponerlo al onKillFocus... aunque yo lo del onPress lo
veo un poco raro existiendo el evento onSetFocus.... la cosa seria asi
mas o menos:
miTextField.onSetFocus = function() {
_root.onEnterFrame = function() {
Selection.setSelection(0,miTextField.text.length);
delete _root.onEnterFrame;
}
}
Tambien puedes usar el evento onSetFocus de Selection, para algo mas
global... aunque recuerdo que este daba unos cuantos problemas... Lo del
onEnterFrame es porque segun recuerdo la Selection tarda un frame en
"actualizarse"... y claro, _root probablemente no sea el mejor objeto
para usar el onEnterFrame ;)
Saludos...
AsNativo escribió:
> Hola,
> Retomando el tema, para seleccionar todo el contenido de un campo de texto
> dinámico basta con meter el campo de texto dentro de un mc, quedaría así:
> (Solución de Raúl)
> texto_mc.texto_txt.text = "hola";
> texto_mc.texto_txt.selectable = true;
> texto_mc.onPress = function() {
> texto_mc.texto _txt.selectable = true;
> Selection.setFocus(' texto_mc.texto _txt');
> Selection.setSelection(0, this.texto _txt.text.length);
> };
> texto_mc.useHandCursor = false;
>
> Una vez que se pincha sobre el campo de texto se puede copiar el contenido
> en el porta papeles con control+c. Pero en el menú contextual (ratón
> derecho)no aparece copy, lo cual es una putada ya que no todo el mundo sabe
> copiar con control+c.
>
> Ahora si añades al código anterior:( sugerido por Germán)
> System.setClipboard(embed_mc.embed_txt.text);
>
> Se quedaría así:
> texto_mc.texto_txt.text = "hola";
> texto_mc.texto_txt.selectable = true;
> texto_mc.onPress = function() {
> texto_mc.texto _txt.selectable = true;
> Selection.setFocus(' texto_mc.texto _txt');
> Selection.setSelection(0, this.texto _txt.text.length);
> System.setClipboard(texto_mc.texto_txt.text);
> };
> texto_mc.useHandCursor = false;
>
> Con esto solo con pinchar sobre el campo de texto se copia directamente en
> el portapapeles(cosa que el usuario ni se entera), pero sigue sin aparecer
> el copy del menú contextual.
>
> Si añades lo último que dice Raúl (texto_mc.texto_txt.selectable =
> true;)sigue sin aparecer el dichoso copy del menú contextual.
>
> Se le ocurre a alguien como conseguir las dos cosas que al pinchar sobre un
> campo de texto se seleccione todo su contenido y que a la vez siga
> apareciendo el copy del menú contextual?
>
> Gracias
>
> Rafael Martínez
>
>
>
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------