用户登录
用户注册

分享至

flex tree自动显示横向滚动条实现代码

  • 作者: 徘徊在善恶之间
  • 来源: 51数据库
  • 2021-06-22
复制代码 代码如下:

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);
}
}
}
软件
前端设计
程序设计
Java相关