package com.geothethird.components { import flash.events.Event; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; import mx.flash.UIMovieClip; [Event(name="click", type="flash.events.Event")] public dynamic class ButtonComponent extends UIMovieClip { public function ButtonComponent() { super(); addEventListener(MouseEvent.MOUSE_OVER,btnHandle); addEventListener(MouseEvent.MOUSE_DOWN,btnHandle); addEventListener(MouseEvent.MOUSE_OUT,btnHandle); btnLabel.autoSize=TextFieldAutoSize.LEFT; btnLabel.selectable=false; mouseChildren=false; buttonMode=true; } private function btnHandle(e:MouseEvent):void { switch (e.type) { case "mouseOver" : e.target.nextFrame(); break; case "mouseDown" : dispatchEvent(new Event("click")); break; case "mouseOut" : e.target.prevFrame(); break; } } public function set label(s:String):void { btnLabel.text=s; } public function get label():String { return btnLabel.text; } } }