ScrollPane.progress

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1:

on(progress){
  ...
}

用法 2:

listenerObject = new Object();
listenerObject.progress = function(eventObject){
  ...
}
scrollPaneInstance.addEventListener("progress", listenerObject)

描述

事件;在加载内容时向所有已注册的侦听器广播。progress 事件并不会始终广播;complete 事件可能在未调度任何 progress 事件的情况下广播。如果加载的内容是本地文件,尤其会出现这种情况。当通过设置 contentPath 属性的值开始加载内容时会触发此事件。

第一个用法范例使用一个 on() 处理函数,并且必须直接附加到 ScrollPane 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如,以下附加到 ScrollPane 组件实例 mySPComponent 的代码将“_level0.mySPComponent”发送到“输出”面板:

on(progress){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (scrollPaneInstance) 会调度一个事件(在本例中为 progress),而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法;当该事件被触发时,就会调用该方法。该事件被触发时,它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性,这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后,对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法,以将侦听器注册到实例。当该实例调度该事件时,就会调用该侦听器。

有关事件对象的详细信息,请参阅事件对象

范例

下面的代码创建一个名为 scrollPane 的 ScrollPane 实例,然后创建一个侦听器对象,该对象具有一个用于 progress 事件的事件处理函数,它将一条有关已加载内容的字节数的消息发送到“输出”面板:

createClassObject(mx.containers.ScrollPane, "scrollPane", 0);
loadListener = new Object();
loadListener.progress = function(eventObj){  
  // eventObj.target 为生成进程事件的组件
  // 在本例中为 scrollPane
  trace("logo.swf has loaded " + scrollPane.getBytesLoaded() + " Bytes.");
  // 跟踪加载进程
}
scrollPane.addEventListener("complete", loadListener);
scrollPane.contentPath = "logo.swf";