2010-11-24 17 views
2

Ich habe ein Textfeld, das Text von XML erhält. Ich habe eine Funktion hinzugefügt, um die Schriftgröße für einen ausgewählten Text zu ändern, und es funktioniert gut, bis ich den Text erneut lade. Dann ignoriert es einfach alle anderen Größen außer der ersten.AS3: htmlText mit mehreren Schriftgrößen-Tags?

Dies ist der HTML-Text für die 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> 

Und ich gerade txtText.htmlText auf, dass ein. Ist es nicht möglich mehrere Schriftgrößen in einem Textfeld zu haben?

Wenn ich die Größe, die ich dies tun zu ändern:

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

Alles, was ich bin fehlt?

Danke!

bearbeiten:

funktioniert, wenn ich es in dieser Reihenfolge tun:

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

Aber ich weiß, dass ich es tat andersrum aus irgendeinem Grund remeber kann ich nicht ..

Antwort

1

Ich habe eine Funktion zum Ändern der Schriftgröße für einen ausgewählten Text hinzugefügt und es funktioniert gut, bis ich den Text erneut laden.

setTextFormat() wirkt sich auf das Format des bereits vorhandenen Textes aus. Jeglicher Text, der nach setTextFormat() eingefügt wird, wird entweder manuell oder unter Verwendung von replaceSelectedText() angewendet und mit dem Standardtextformat des Textfelds formatiert.

Um das Standardtextformat des Textfelds festzulegen, müssen Sie die Eigenschaft defaultTextFormat lesen/schreiben.

Hilft diese Info?

+0

Es ist mehr oder weniger was ich mache. Das Problem war die Reihenfolge. Ich muss den htmlText vorher setzen, wenn ich keine Formatierung habe, weil ich meine Schriftart einbettle, und nach wenn ich Formatierung habe. Ich denke, eine Variation meiner Bearbeitung funktioniert so, wie sie sollte, aber ich brauche mehr Tests. – Tinelise