Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/09/2006, 11:41
Avatar de heberto
heberto
 
Fecha de Ingreso: septiembre-2004
Ubicación: Morelia, Michoacán
Mensajes: 104
Antigüedad: 19 años, 8 meses
Puntos: 0
TextFormat y Máscaras

Saludos amigos, recientemente estoy desarrollando un pequeño editor de textos interactivo, en el cual el usuario escribe un texto y es capaz de aplicarle formato (color, tamaño, fuente, negrita, etc), el formato sale sin problemas (estoy usando la clase TextFormat para esto), el problema radica cuando a dicho texto lo encierro en una mascara, pues como ya sabran para usar un texto dinamico en una mascara pues tengo que añadir los caracteres que se han de permitir con el boton "Embed...", mi aplicacion tiene la habilidad que mientras el usuario escribe en una caja de texto de entrada, el texto de la caja dinamica cambia automaticamente y hasta ahi se ve bien, pero al momento de que le aplico el formato que el usuario desea, desaparece el texto. Probe sacando el texto de la mascara y seguia igual, hasta en el momento que deje la caja dinamica sin caracteres embebidos (o como se diga :p jejeje) volvio a funcionar. Alguien sabra como puedo embeber los caracteres para poder ver la caja de texto dinamico bajo una mascara y ademas poderle aplicar formato con la clase TextFormat, gracias por su atención, espero su respuesta.

Les dejo el codigo y la estructura de mi archivo....

Los objetos en el escenario...

Entrada_txt - Caja de texto de entrada
Aplicar_btn - Simbolo Boton
Contenedor_mc.Texto_mc.Texto_txt - Caja de texto dinámico con propiedad autosize
cmbFuentes - Componente combobox
cmbTamanio - Componente combobox
botCursiva - Componente Boton
botNegrita - Componente Boton
botSubrrayado - Componente Boton
pikColor - Componente ColorPicker (Extension que encontre)

Código:
// Declaración de la clase
var Formato:TextFormat = new TextFormat();

// Cuando se presione se arrarstra el texto
Contenedor_mc.Texto_mc.onPress = function(){
	this.startDrag(false);
}

// Cuando se libere se suelta el objeto
Contenedor_mc.Texto_mc.onRelease = function(){
	stopDrag();	
}

// Al liberar el boton Aplicar_btn genera el formato nuevo y lo aplica en la caja de texto dinamico
Aplicar_btn.onRelease = function(){
	Formato.bold = botNegrita.selected;
	Formato.italic = botCursiva.selected;
	Formato.underline = botSubrrayado.selected;
	Formato.size = cmbTamanio.selectedItem.data;
	Formato.font = cmbFuentes.selectedItem.data;
	Formato.color = pikColor.color;
	Contenedor_mc.Texto_mc.Texto_txt.setTextFormat(Formato);
}

// Cada vez que el usuario escribe un texto se actualiza automaticamente la caja dinamica con todo y formato
Entrada_txt.onChanged = function(){
	Contenedor_mc.Texto_mc.Texto_txt.text = Entrada_txt.text
	Contenedor_mc.Texto_mc.Texto_txt.setTextFormat(Formato);
}

// Proceso para obtener las fuentes instaladas en la computadora del usuario final
function LlenarFuentes(){
	var Fuentes:Array = TextField.getFontList();
	Fuentes.sort();
	for(var i=0;i<Fuentes.length;i++){
		cmbFuentes.addItem({label:Fuentes[i],data:Fuentes[i]});
	}
}

// Llena el combobox de las fuentes
LlenarFuentes();
Tambien he intentado añadiendo una caja de texto, pero tampoco resulta.
__________________
Atte.

Ing. Julio Heberto Gonzalez Morales
Certified Macromedia Flash MX Designer