2010-11-24 39 views
2

J'ai un champ de texte qui reçoit du texte de xml. J'ai ajouté une fonction pour changer la taille de la police pour un texte sélectionné et cela fonctionne bien jusqu'à ce que je charge à nouveau le texte. Ensuite, il ignore simplement toutes les autres tailles, mais le premier.AS3: htmlText avec plusieurs balises de taille de police?

Ceci est le texte html pour le tekst:

<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="PresentationOnline_text" SIZE="63" COLOR="#FF9999" LETTERSPACING="0" KERNING="0">a<FONT SIZE="33">b</FONT></FONT></P></TEXTFORMAT> 

Et je viens de définir txtText.htmlText à cela. Est-il impossible d'avoir plusieurs tailles de police dans un seul champ de texte?

Quand je change la taille que je fais:

textFormat = txtText.getTextFormat(start, end); 
textFormat.size = Number(textFormat.size) - 1; 
txtText.setTextFormat(textFormat, start, end); 

Tout ce que je suis absent?

Merci!

Modifier:

Works quand je le fais dans cet ordre:

txtText.defaultTextFormat = textFormat; 
txtText.setTextFormat(textFormat); 
txtText.htmlText = text; 

Mais je sais que je l'ai fait dans l'autre sens pour une bonne raison pour laquelle je ne peux pas remeber ..

Répondre

1

J'ai ajouté une fonction pour changer la taille de la police pour un texte sélectionné et cela fonctionne bien jusqu'à ce que je charge à nouveau le texte.

setTextFormat() affecte le format du texte qui s'y trouve déjà. Tout texte inséré après setTextFormat() a été appliqué, soit manuellement, soit en utilisant replaceSelectedText(), sera formaté avec le format de texte par défaut du champ de texte.

Pour définir le format de texte par défaut du champ de texte, vous devez utiliser la propriété defaultTextFormat, qui est en lecture/écriture.

Est-ce que cette information vous aide?

+0

C'est plus ou moins ce que je fais. Le problème était l'ordre de celui-ci. Je dois d'abord définir htmlText si je n'ai pas de formatage parce que j'intègre ma police, et après si j'ai formate. Je pense qu'une variation de mon édition fonctionne comme il se doit, mais j'ai besoin de plus de tests. – Tinelise