OldHawk

菜地一块,欢迎拍砖
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Adding links to a Panel container’s status text in Flex

Posted on 2008-04-23 17:21  OldHawk  阅读(674)  评论(0编辑  收藏  举报

The following example shows how you can assign an HTML formatted string to a Panel container’s status text field using the getStatusTextField() method in the mx_internal namespace.

Full code after the jump.

 

Since this example uses the mx_internal namespace, you can’t always depend on this behavior to work in future versions of the Flex SDK. Use at your own risk.

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/04/17/adding-links-to-a-panel-containers-status-text-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white"
        creationComplete
="init();">

    
<mx:Script>
        
<![CDATA[
            import mx.core.IUITextField;
            import mx.controls.Alert;

            private function init():void {
                var tf:IUITextField = panel.mx_internal::getStatusTextField();
                tf.selectable = true;
                tf.addEventListener(TextEvent.LINK, textField_link);
                tf.htmlText = "status with <a href='event:showAlert'><u>link</u></a>";

            }

            private function textField_link(evt:TextEvent):void {
                Alert.show("Success! A Panel container with a link in the status text.", evt.text);
            }
        
]]>
    
</mx:Script>

    
<mx:Panel id="panel"
            title
="Title"
            status
="status with link"
            width
="320"
            height
="240">
        
<mx:Text text="Click the link in the Panel container's status bar to launch an Alert control."
                width
="100%" selectable="false" />
        
<mx:ControlBar>
            
<mx:Text htmlText="&lt;b&gt;Note:&lt;/b&gt; The status text field must have it's selectable property set to true in order to dispatch the link event."
                    width
="100%" selectable="false" />
        
</mx:ControlBar>
    
</mx:Panel>

</mx:Application>