[Flash/Flex] 给一个TitleWindow添加按钮的方法

资讯类型: 翻译
来源页面: http://userflex.wordpress.com/2011/05/05/add-titlewindow-buttons/
资讯原标题: How to Add Buttons to a TitleWindow
资讯原作者: Nick Schneble
翻译词数: 97 词
我的评论:小技巧,先收藏
对这篇文你有啥看法,跟贴说说吧!欢迎口水和板砖,哈哈。欢迎大家和我们一同分享更多资讯。
TitleWindow对象是伟大的,但如果在标题栏,你不想只有一个关闭按钮,那么你需要扩展组件并添加自己的功能。

下面是一个简单操作方法:
package
{
     import mx.containers.TitleWindow;
     import mx.controls.Button;
     import mx.controls.LinkButton;

    public class CustomTitleWindow extends TitleWindow
     {
         private var helpButton : LinkButton;
         private var _closeButton : Button;

        public function CustomTitleWindow ()
         {
             title = "Custom TitleWindow";
             showCloseButton = true;
         }

        private function get closeButton () : Button
         {
             if (! _closeButton)
             {
                 for (var i : int = 0; i < titleBar.numChildren; ++ i)
                 {
                     if (titleBar.getChildAt (i) is Button &&
                         titleBar.getChildAt (i) != helpButton)
                     {
                         _closeButton = titleBar.getChildAt (i) as
                             Button;
                     }
                 }
             }

            return _closeButton;
         }

        override protected function createChildren () : void
         {
             super.createChildren ();

            if (! helpButton)
             {
                 helpButton = new LinkButton ();
                 helpButton.label = "Help";
                 helpButton.focusEnabled = false;
                 helpButton.setStyle ("paddingTop", 4);

                titleBar.addChild (helpButton);
                 helpButton.owner = this;
             }
         }

        override protected function layoutChrome (w : Number,
             h : Number) : void
         {
             super.layoutChrome (w, h);

            var width : Number =
                 helpButton.getExplicitOrMeasuredWidth ();
             var height : Number =
                 helpButton.getExplicitOrMeasuredHeight ();

            var x : Number = closeButton.x – width;
             var y : Number = closeButton.y – Math.floor
                 ((height – closeButton.height) * 0.50);

            helpButton.setActualSize (width, height);
             helpButton.move (x, y);
         }

    }
}


正如你在上面看到的,所有你需要做的就是:扩展TitleWindow类,并重写createChildren()和layoutChrome()方法。 你先在标题栏添加按钮,然后再确定它们的尺寸和位置。

请记住,这个例子中并没有包括一个事件处理程序,所以如果你真的想让你的按钮做一些事情,你需要自己实现一个事件处理。

你可能感兴趣的:(wordpress,Flex,Flash,资讯)