Copy Code code as follows:
Package com.anydata.consumer.components
{
Import flash.events.Event;
Import Mx.controls.Tree;
Import Mx.core.ScrollPolicy;
Import mx.core.mx_internal;
/**
* Automatic display of horizontal scroll bar
*/
public class Autosizetree extends tree
{
Public Function Autosizetree ()
{
Super ();
Horizontalscrollpolicy=scrollpolicy.auto;
}
Override public Function Get Maxhorizontalscrollposition (): Number
{
if (isNaN (mx_internal::_maxhorizontalscrollposition))
return 0;
return mx_internal::_maxhorizontalscrollposition;
}
Override Public Function set Maxhorizontalscrollposition (value:number): void
{
Mx_internal::_maxhorizontalscrollposition=value;
Dispatchevent (New Event ("maxhorizontalscrollpositionchanged"));
Scrollareachanged=true;
Invalidatedisplaylist ();
}
Override protected function Updatedisplaylist (Unscaledwidth:number, unscaledheight:number): void
{
var diffwidth:number=measurewidthofitems (0, 0)-(unscaledwidth-viewmetrics.left-viewmetrics.right);
var indentation:number=getstyle ("indentation");
if (diffwidth <= 0)
Maxhorizontalscrollposition=nan;
Else
Maxhorizontalscrollposition=diffwidth + indentation;
Super.updatedisplaylist (Unscaledwidth, unscaledheight);
}
}
}