2009-08-26 14 views
0

Diese Frage ist auf den Posten ähnlich: „Schaltfläche in Rasterabstand eines Tabs in Flex Builder TabNavigator Move“Ein ‚addChild‘ Taste in Rasterabstand von TabNavigator

Move Button into grid space of a TabNavigator's tabs in Flex Builder

aber mit einem kleinen Unterschied. Ich möchte eine Schaltfläche haben, die dem TabNavigator im Rasterbereich ein untergeordnetes Element (Registerkarte) hinzufügt (einfacher mit TabBar, siehe unten), aber Tabs nicht blockieren, während sie sich in Richtung der Schaltfläche erstrecken. Diese Funktionalität wird in jedem Webbrowser angezeigt, der Registerkarten verwendet.

Zusätzlich möchte ich eine Bildlaufschaltfläche haben, wenn zu viele Registerkarten geöffnet sind, und die Möglichkeit, Registerkarten zu schließen. Ich habe versucht, Doug McCunes SuperTabNavigator zu benutzen, der die meisten dieser Eigenschaften anbietet, aber er bietet nicht den addChild Knopf, nach dem ich suche.

Gibt es eine Möglichkeit, diese Schaltfläche "addChild" zum Rasterbereich hinzuzufügen oder die Features von SuperTabNavigator zu TabBar hinzuzufügen?

Antwort

0

Diese Klasse funktioniert mit Ausnahme von Scrollen, wenn zu viele Registerkarten vorhanden sind.

<?xml version="1.0" encoding="utf-8"?> 
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="500" height="400"> 
    <mx:HBox width="100%"> 
     <mx:TabBar dataProvider="{viewstack}"/> 
     <mx:Button label="+" width="35" click="addTab()"/> 
    </mx:HBox> 
    <mx:ViewStack height="100%" width="100%" id="viewstack"/> 
    <mx:Script> 
     <![CDATA[ 
      import mx.controls.Label; 
      import mx.containers.Panel; 
      //add a new container 
      private function addTab():void 
      { 
       var l:Label = new Label(); 
       l.text = "Panel " + (viewstack.numChildren + 1); 
       var p:Panel = new Panel(); 
       p.label = l.text; 
       p.addChild(l); 
       viewstack.addChild(p); 
       viewstack.selectedChild = p; 
      } 
     ]]> 
    </mx:Script> 
</mx:VBox> 
Verwandte Themen