ProgressBar.progress

Availability

Flash Player 6 (6.0.79.0).

Edition

Flash MX 2004.

Usage

Usage 1:

var listenerObject:Object = new Object();
listenerObject.progress = function(eventObject:Object) {
    // ...
};
progressBarInstance.addEventListener("progress", listenerObject);

Usage 2:

on (progress) {
    // ...
}

Event object

In addition to the standard event object properties, there are two additional properties defined for the ProgressBar.progress event: current (the loaded value equals total), and total (the total value).

Description

Event; broadcast to all registered listeners whenever the value of a progress bar changes.

The first usage example uses a dispatcher/listener event model. A component instance (progressBarInstance) 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.

The second usage example uses an on() handler and must be attached directly to a ProgressBar 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 instance progressBarInstance, sends "_level0.progressBarInstance" to the Output panel:

on (progress) {
    trace(this);
}

Example

This example loads an image into a loader with an associated progress bar and creates a listener for the progress event. When the progress event occurs, the example displays the value property, which is a value between ProgressBar.minimum and ProgressBar.maximum.

Drag an instance of the ProgressBar component onto the Stage, and enter the instance name my_pb in the Property inspector. Drag an instance of the Loader component onto the Stage, and enter the instance name my_ldr in the Property inspector. Add the following code to Frame 1 of the timeline:

/**
 Requires:
  - Loader component instance on Stage (instance name: my_ldr)
  - Progress component instance on Stage (instance name: my_pb)
*/

System.security.allowDomain("http://www.helpexamples.com");

var my_ldr:mx.controls.Loader;
var my_pb:mx.controls.ProgressBar;

my_pb.mode = "polled";
my_pb.source = my_ldr;
my_ldr.autoLoad = false;

//Create Listener Object
var pbListener:Object = new Object();
pbListener.progress = function(evt_obj:Object) {
  // evt_obj.target is the component that generated the progress event,
  // i.e., the progress bar.
  trace("Current progress value = " + evt_obj.target.value);
};
//Add Listener
my_pb.addEventListener("progress", pbListener);

// when autoLoad is false loading does not start until load() is invoked
my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");

See also

EventDispatcher.addEventListener()