ActionScript 2.0 Language Reference |
|
|
|
| ActionScript classes > TextField > onScroller (TextField.onScroller handler) | |||
onScroller = function(scrolledField:TextField) {}
Event handler/listener; invoked when one of the text field scroll properties changes.
A reference to the text field instance is passed as a parameter to the onScroller handler. You can capture this data by putting a parameter in the event handler method. For example, the following code uses my_txt as the parameter that is passed to the onScroller event handler. The parameter is then used in a trace() statement to send the instance name of the text field to the Output panel.
myTextField.onScroller = function (my_txt:TextField) {
trace (my_txt._name + " scrolled");
};
The TextField.onScroller event handler is commonly used to implement scroll bars. Scroll bars typically have a thumb or other indicator that shows the current horizontal or vertical scrolling position in a text field. Text fields can be navigated using the mouse and keyboard, which causes the scroll position to change. The scroll bar code needs to be notified if the scroll position changes because of such user interaction, which is what TextField.onScroller is used for.
onScroller is called whether the scroll position changed because of a users interaction with the text field, or programmatic changes. The onChanged handler fires only if a user interaction causes the change. These two options are necessary because often one piece of code changes the scrolling position, while the scroll bar code is unrelated and won't know that the scroll position changed without being notified.
Availability: ActionScript 1.0; Flash Player 6
scrolledField:TextField - A reference to the TextField object whose scroll position was changed.
The following example creates a text field called my_txt, and uses two buttons called scrollUp_btn and scrollDown_btn to scroll the contents of the text field. When the onScroller event handler is called, a trace statement is used to display information in the Output panel. Create two buttons with instance names scrollUp_btn and scrollDown_btn, and add the following ActionScript to your FLA or AS file:
this.createTextField("scroll_txt", this.getNextHighestDepth(), 10, 10, 160, 20);
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 30, 320, 240);
my_txt.multiline = true;
my_txt.wordWrap = true;
for (var i = 0; i<10; i++) {
my_txt.text += "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam "
+ "nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.";
}
scrollUp_btn.onRelease = function() {
my_txt.scroll--;
};
scrollDown_btn.onRelease = function() {
my_txt.scroll++;
};
my_txt.onScroller = function() {
trace("onScroller called");
scroll_txt.text = my_txt.scroll+" of "+my_txt.maxscroll;
};
The MovieClip.getNextHighestDepth() method used in this example requires Flash Player 7 or later. If your SWF file includes a version 2 component, use the version 2 components' DepthManager class instead of the MovieClip.getNextHighestDepth() method.
hscroll (TextField.hscroll property), maxhscroll (TextField.maxhscroll property), maxscroll (TextField.maxscroll property), scroll (TextField.scroll property)
|
|
|
|