User Guide
ScrollPane component 681
Description
Event; broadcast to all registered listeners while content is loading. The progress event is not
always broadcast; the
complete event may be broadcast without any progress events being
dispatched. This can happen especially if the loaded content is a local file. Your application
triggers the
progress event when the content starts loading by setting the value of the
contentPath property.
The first usage example uses an
on() handler and must be attached directly to a ScrollPane
instance. The keyword
this, used inside an on() handler attached to a component, refers to the
component instance. For example, the following code, attached to the ScrollPane component
instance
mySPComponent, sends “_level0.mySPComponent” to the Output panel:
on(progress){
trace(this);
}
The second usage example uses a dispatcher/listener event model. A component instance
(
scrollPaneInstance) dispatches an event (in this case, progress) and the event is handled by
a function, also called a handler, on a listener object (
listenerObject) that you create. You
define a method with the same name as the event on the listener object; the method is called
when the event is triggered. When the event is triggered, it automatically passes an event object
(
eventObject) to the listener object method. Each event object has properties that contain
information about the event. You can use these properties to write code that handles the event.
Finally, you call the
EventDispatcher.addEventListener() method on the component
instance that broadcasts the event to register the listener with the instance. When the instance
dispatches the event, the listener is called.
For more information, see “EventDispatcher class” on page 415.
Example
The following code creates a ScrollPane instance called scrollPane. It then creates a listener
object with an event handler for the
progress event that sends a message to the Output panel
about how much content has loaded.
createClassObject(mx.containers.ScrollPane, "scrollPane", 0);
loadListener = new Object();
loadListener.progress = function(eventObj){
// eventObj.target is the component that generated the progress event
// --in this case, scrollPane
trace("logo.swf has loaded " + scrollPane.getBytesLoaded() + " Bytes.");
// track loading progress
}
scrollPane.addEventListener("complete", loadListener);
scrollPane.contentPath = "logo.swf";