2010-07-14 105 views

回答

4

一般情况下,当前位置,宽度和高度都存储在:

textfield.x 
textfield.y 
textfield.width 
textfield.height 

虽然它可能没有设置,直到它的定位的东西,是在连接到一定阶段内点。否则,它还没有弄清楚它有多大,以防它需要挤入一个较小的外部物体或某物。

你可以当它添加到舞台上与

textfield.addEventListener(mx.events.Event.ADDED_TO_STAGE, handleAddedToStage); 
... 
protected function handleAddedToStage(event:Event):void 
{ 
    ... 

更新陷阱:

用户想要的文字大小。我相信答案是:

textfield.getTextFormat().size 

如果有可选的参数传递给getTextFormat()挑领域内的文本范围。

+0

按大小我指的是字体大小。不是TextBox的实际大小。我想知道这是甚至可能与textFields将有两个不同的字体大小... – MrB 2010-07-14 22:00:18

+0

已更新。让我知道这是如何工作的,我没有太多搞砸了。 – eruciform 2010-07-14 22:11:16

+0

谢谢getTextFormat()是我一直在寻找的! – MrB 2010-07-19 17:31:21

2

如果您将多个文本格式应用于TextField,那么您可能真的很幸运,因为AS3将开始使用HTML表示TextField。

您可以通过书面形式在HTML得到:

yourTextField.htmlText 

这会给你这样的:

<P ALIGN="LEFT"> 
    <FONT FACE="Georgia" SIZE="12" COLOR="#666666" LETTERSPACING="0" KERNING="0"> 
     Smaller text. 
    </FONT> 
    <FONT FACE="Georgia" SIZE="16" COLOR="#666666" LETTERSPACING="0" KERNING="0"> 
     Bigger text. 
    </FONT> 
</P> 

然后,您可以解析这个字符串,并搜索大小属性。在上面的例子中,它们是12和16像素。

如果你只是将一个单一的文本格式,你可以继续使用eruciform的建议:

yourTextField.getTextFormat().size