flash cs4 combobox组件完全忽略样式和事件

我在flash cs4中有简单的combobox组件,我尝试添加像这样的事件监听器

mycombo.addEventListener(Event.ADDED_TO_STAGE, added);

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

永远不会被调用,即使我手动或通过AS在舞台中有组件,但是如果我将监听器添加到MouseOver,它可以工作,为什么ADDED_TO_STAGE事件不起作用,如果我使用textFormat样式,我也有问题

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

不起作用,但如果我把这条线放在MouseOver事件中,它的工作原因是什么? 请帮忙谢谢!


我遇到过同样的情况,发现如果我在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);

问题1原因:

看起来ADDED_TO_STAGE可能发生在触发器之前。

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

将DisplayObject实例直接或通过添加包含DisplayObject实例的子树添加到舞台显示列表中。 如果直接添加DisplayObject实例,则添加的事件发生在此事件之前。

问题2原因:

再次,我相信事件发生在事件触发之前。 因此风格从未得到处理。

链接地址: http://www.djcxy.com/p/17845.html

上一篇: flash cs4 combobox component totally ignore styles and events

下一篇: scrollbar in flash CS4