2009-10-12 3 views

Répondre

4

Je ne suis pas exactement sûr de ce que votre problème est, puisque vous ne dites pas si elle ne compile pas, ne pas afficher ou donné une erreur d'exécution, etc., donc je mis en place un MXML pour le démontrer. Le code est principalement bricolé à partir des exemples Tree et Menu. Veuillez vous référer à la documentation pour plus de détails.

<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
<mx:Script> 
    <![CDATA[ 
     import mx.collections.ArrayCollection; 
     import mx.controls.Menu; 
     [Bindable] 
     public var selectedNode:XML; 

     // Event handler for the Tree control change event. 
     public function treeChanged(event:Event):void { 
      selectedNode=mx.controls.Tree(event.target).selectedItem as XML; 
     } 

     private var prevMenu:Menu = null 

     public function showMenu(event:MouseEvent):void 
     { 
      if(prevMenu != null) 
       prevMenu.hide() 
      var menu:Menu = Menu.createMenu(null, menuData, false); 
      menu.labelField="@label" 
      menu.show(event.stageX, event.stageY) 
      prevMenu = menu 
     } 

    ]]> 
</mx:Script> 
<mx:XML id="menuData"> 
    <root> 
     <menuitem label="copy" eventName="copy"/> 
     <menuitem label="paste" eventName="paste"/> 
    </root> 
</mx:XML> 
<mx:XMLList id="treeData"> 
    <node label="Mail Box"> 
     <node label="Inbox"> 
      <node label="Marketing"/> 
      <node label="Product Management"/> 
      <node label="Personal"/> 
     </node> 
     <node label="Outbox"> 
      <node label="Professional"/> 
      <node label="Personal"/> 
     </node> 
     <node label="Spam"/> 
     <node label="Sent"/> 
    </node>  
</mx:XMLList> 
<mx:Panel title="Tree Control Example" height="75%" width="75%" 
    paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> 

    <mx:Label width="100%" color="blue" 
     text="Select a node in the Tree control."/> 

    <mx:HDividedBox width="100%" height="100%"> 
     <mx:Tree id="myTree" width="50%" height="100%" labelField="@label" 
      showRoot="false" dataProvider="{treeData}" change="treeChanged(event)" 
      rightClick="showMenu(event)"/> 
     <mx:TextArea height="100%" width="50%" 
      text="Selected Item: {[email protected]}"/> 
    </mx:HDividedBox> 

</mx:Panel></mx:WindowedApplication> 
Questions connexes