2011-01-15 11 views
0

Gibt es eine Möglichkeit, fügen Sie Schaltflächen in einem Flash-Liste Komponente? (Flash cs5, nicht Flex!)Flash-Liste Komponente mit Tasten

Wenn nicht, irgendeine Alternative, es zu tun?

Grüße.

+0

Vorhandene Schaltflächen zur List-Komponente hinzufügen? oder verwenden Sie die Label-Objekte in der List-Komponente als Schaltflächen? – Taurayi

Antwort

0

Wenn Sie die Label-Objekte in der List-Komponente wie Schaltflächen verwenden möchten, können Sie einen Ereignis-Listener zur Liste componenent hinzufügen, die für ListEvent.ITEM_CLICK hört, wie Sie im folgenden sehen:

package 
{ 
    import fl.controls.List; 
    import fl.data.DataProvider; 
    import fl.events.ListEvent; 
    import flash.display.Sprite 

    public class ListExample extends Sprite 
    { 
     public function ListExample() 
     { 
      init(); 

     }// end function 

     private function init():void 
     { 
      var buttons:Array = new Array("Mouse", "Cat", "Dog"); 

      var list:List = new List(); 
      list.dataProvider = new DataProvider(buttons); 
      addChild(list); 

      list.addEventListener(ListEvent.ITEM_CLICK, onListItemClick); 
     } 

     private function onListItemClick(e:ListEvent):void 
     { 
      switch(e.item.label) 
      { 
       case "Mouse" : trace("Mice eat cheese"); break; 
       case "Cat" : trace("Cats eat the mice"); break; 
       case "Dog" : trace("Dogs eat cats"); break; 

      }// end switch 

     }// end function 

    }// end class 

}// end package 

Sie können Fügen Sie eine Bedingung in der Listener-Funktion onListItemClick() hinzu, um zwischen den Labels zu unterscheiden, auf die geklickt wird, und rufen Sie dann den entsprechenden Code auf. Im obigen Beispiel verwende ich eine switch-Anweisung.

+0

natürlich brauche ich das nicht: ich brauche etiketten + taste! – yarek

+0

Nun, ich entschuldige mich dafür, dass Sie sich die Zeit genommen haben, Ihre Frage zu beantworten ... – Taurayi