扩展Flex Spark按钮以包含可单击的复选框

时间:2014-08-15 00:10:20

标签: flex button actionscript skin flex-spark

我正在使用Sparkskin按钮在按钮上放置一个复选框。

目前按钮正在接收鼠标点击,并且复选框无法选择。

我希望用户能够选择/取消选中该复选框。

我是否需要在Sparkskin中设置或覆盖一个函数才能实现?

1 个答案:

答案 0 :(得分:2)

首先,创建自定义按钮以扩展spark按钮。将mouseChildren属性设置为true(在super()调用之后)。覆盖mouseEventHandler方法,该方法处理按钮的所有鼠标事件。检查target活动,如果super.mouseEventHandler是您的复选框,请不要致电target,以防您在查看复选框时不希望点击您的按钮

 public class MyButton extends Button {
        [SkinPart]
        public var checkBox:CheckBox;

        public function MyButton() {
            super();
            mouseChildren = true;
        }

        override protected function mouseEventHandler(event:Event):void {
            if (event.target != checkBox)
                super.mouseEventHandler(event);
            }
        }
 }