프로젝트 진행중 필요하게 되어 만들고 있는 UserCompopnent 기존에 모듈이 조금 속도도 느리고
해서 새롭게 들어가는 Component인데.. 과연 얼마나 성능이 좋아 질까 궁금하다.. ^^
ExtendLinkBar.as
package flexlib.Controls.LinkBar
{
import flash.events.MouseEvent;
import flexlib.Skin.CustLinkbuttonSkin;
import mx.controls.LinkBar;
import mx.controls.LinkButton;
import mx.controls.Alert;
public class ExtendLinkBar extends LinkBar
{
public function ExtendLinkBar()
{
super();
}
protected override function childrenCreated():void
{
super.childrenCreated();
var _ChildArray:Array = this.getChildren();
for each(var _LinkButton:LinkButton in _ChildArray)
{
if(_LinkButton is LinkButton)
{
_LinkButton.setStyle("textRollOverColor","#FFFFFF");
_LinkButton.setStyle("textSelectedColor","#FF0000");
_LinkButton.setStyle("color","#00FF00");
_LinkButton.setStyle("skin", flexlib.Skin.CustLinkbuttonSkin);
_LinkButton.toggle = true;
}
}
}
protected override function clickHandler(event:MouseEvent):void
{
super.clickHandler(event);
var _Button:LinkButton = event.currentTarget as LinkButton
var _ChildControls:Array = this.getChildren();
for each(var _LinkButton:LinkButton in _ChildControls)
{
_LinkButton.enabled = true;
}
_Button.enabled = false;
}
}
}
CustLinkbuttonSkin.as
package flexlib.Skin
{
import mx.skins.halo.LinkButtonSkin;
public class CustLinkbuttonSkin extends LinkButtonSkin
{
public function CustLinkbuttonSkin()
{
super();
}
override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h);
graphics.clear();
switch (name)
{
case "upSkin":
break;
case "selectedUpSkin":
case "selectedOverSkin":
break;
case "overSkin":
break;
case "selectedDownSkin":
case "downSkin":
break;
case "selectedDisabledSkin":
case "disabledSkin":
drawRoundRect(0, 0, w, h, 4, 0xffffff, 1);
break;
}
}
}
}
보는 코드 처럼 LinkBar에 Skin을 주는 UserComponent인데.. 메뉴에서 필요하여 만들게 되었다..
주석은 참고로.. 생략.. ^^