|  package com.anydata.consumer.components
 {
 import flash.events.Event;
 import mx.controls.Tree;
 import mx.core.ScrollPolicy;
 import mx.core.mx_internal;
 
 /**
 * 自动显示横向滚动条
 */
 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);
 }
 }
 }
 
 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |