Foros del Web » Creando para Internet » Flash y Actionscript »

Aplicación de formato (TextFormat) al texto

Estas en el tema de Aplicación de formato (TextFormat) al texto en el foro de Flash y Actionscript en Foros del Web. Hola, estoy intentando aplicar formato a un textField dinámico, pero no surte efecto. El texto dinámico lo tengo creado en edición con la mayoría de ...
  #1 (permalink)  
Antiguo 31/05/2006, 04:59
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Aplicación de formato (TextFormat) al texto

Hola, estoy intentando aplicar formato a un textField dinámico, pero no surte efecto.

El texto dinámico lo tengo creado en edición con la mayoría de propiedades asignadas desde la barra de Propiedades, no en ejecución (no sé si esto afectará al hecho de que se aplique formato o no). El objeto textFormat, al que llamo formatoTexto, se crea en la misma línea de tiempo que el textField, cuyo nombre de instancia es texto.

Os pongo el trozo de código para que lo veais:

Código:
// Dar formato al texto
formatoTexto = new TextFormat();
with (formatoTexto) {
	leftMargin = 15;
	rightMargin = 5;
	font = "Century Gothic";
	align = "justify";
}
texto.setTextFormat(formatoTexto);
  #2 (permalink)  
Antiguo 31/05/2006, 09:13
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
hay una ligera diferencia entre los métodos:
- texto.setTextFormat(formatoTexto);
- texto.setNewTextFormat(formatoTexto);

- el primero le aplica formato al texto que está en un campo de texto (cuando el texto ya está)
- el segundo predetermina el formato que tendrá el texto que se inserte en ese campo de texto (para el texto que se pondrá)

lo mejor es que le des un formato predeterminado con setNewTextFormat una vez creado el campo de texto:

Código:
//creamos formato
var formatoTexto:TextFormat = new TextFormat();
with (formatoTexto) {
	leftMargin = 15;
	rightMargin = 5;
	font = "Century Gothic";
	align = "justify";
	size = 10;
}

//creamos un campo de texto, le ponemos algo de contenido y preterminamos su formato
var texto:TextField = this.createTextField('texto',this.getNextHighestDepth(),10,10,200,300);
with(texto){
	multiline=wordWrap=border=autosize = true;
	setNewTextFormat(formatoTexto); //le aplicamos NUEVO formato antes de ponerle texto
	text = "'Hola, estoy intentando aplicar formato a un textField dinámico, pero no surte efecto.  El texto dinámico lo tengo creado en edición con la mayoría de propiedades asignadas desde la barra de Propiedades, no en ejecución (no sé si esto afectará al hecho de que se aplique formato o no).\n";
}

//ahora agregamos más texto y el formato se mantendrá
texto.text += "El objeto textFormat, al que llamo formatoTexto, se crea en la misma línea de tiempo que el textField, cuyo nombre de instancia es texto.\nOs pongo el trozo de código para que lo veais:";
...
__________________
Si digo que soy mentiroso. ¿Lo soy?

Última edición por luistar; 31/05/2006 a las 15:09
  #3 (permalink)  
Antiguo 31/05/2006, 14:15
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Gracias luistar, entonces en mi caso, en el que tenía ya el campo de texto creado, más que nada por comodidad y para evitarme tener que dar formato al propio campo de texto mediante código, he de usar setNewTextFormat() no?

El texto se carga unas líneas antes con un objeto XML, o sea, que ya está presente en el campo de texto cuando le aplico el formato.
  #4 (permalink)  
Antiguo 31/05/2006, 15:12
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
si aplicas formato al campo de texto que has creado en edición y ya contiene texto, debería funcionar con: setTextFormat

para asegurarte que el texto que contendrá ese campo te texto tenga un formato predeterminado, usa: setNewTextFormat antes de ponerle contenido

....
__________________
Si digo que soy mentiroso. ¿Lo soy?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:28.