2010-02-10 58 views
0

我Flash CS4中有簡單的ComboBox組件,我嘗試添加和事件偵聽器,這樣閃光CS4中ComboBox組件完全忽略樣式和事件

mycombo.addEventListener(Event.ADDED_TO_STAGE, added); 

function added(e:Event):void 
{ 
trace("HI"); 
} 

永遠不會被調用,即使我在舞臺必須手動組件或通過AS,但如果我添加偵聽鼠標懸停它的工作原理,爲什麼ADDED_TO_STAGE事件不工作,我也有textFormat樣式一個問題,如果我使用

mycombo.setStyle("textFormat", tf);//suppose tf is a TextFormat object 

沒有工作過,但如果我將該行放入MouseOver事件中,它的工作原因是什麼?請幫忙謝謝!

回答

0

問題1個原因:

似乎ADDED_TO_STAGE可以觸發前發生。

https://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/events/Event.html#ADDED_TO_STAGE

DisplayObject實例被添加到舞臺上顯示列表,無論是直接或通過添加在其中包含DisplayObject實例的子樹。如果直接添加DisplayObject實例,則添加的事件發生在此事件之前。

問題2原因:

同樣,相信該事件的事件觸發之前發生。因此風格從未得到處理。

2

我有相同的情況,發現如果我在ActionScript中創建組件,而不是通過可視化設計工具創建組件,則對代碼中的組件進行更改。 因此,我從.FLA文件中刪除了該對象,並在相關的.AS文件中創建了它,而不是像這樣。

var ddlQF:ComboBox=new ComboBox(); 
this.addChild(ddlQF); 
ddlQF.move(444,191); 
ddlQF.setSize(284,40); 
ddlQF.rowCount=10; 
var myFormat:TextFormat = new TextFormat(); 
myFormat.font = "Georgia"; 
myFormat.size=16; 
ddlQF.setStyle("textFormat",myFormat);