15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit Menüs<br />

Dock-Symbolmenü unter Mac OS X<br />

Kontextmenü für ausgewählten Text und ausgewählte Bilder in HTML-Inhalt<br />

Kontextmenü für ausgewählten Text in einem TextField-Objekt (bzw. einem Objekt, das das TextField erweitert)<br />

Kontextmenüs<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Bei SWF-Inhalten können Sie jedes Objekt, das vom InteractiveObject erbt, durch Zuweisen eines Menüobjekts zu der<br />

entsprechenden contextMenu-Eigenschaft mit einem Kontextmenü versehen. Standardmäßig sind mehrere Befehle<br />

enthalten, u. a. „Vorwärts“, „Zurück“, „Drucken“, „Qualität“ und „Zoom“. In der AIR-Laufzeitumgebung kann das<br />

contextMenu zugewiesene Menüobjekt vom Typ NativeMenu oder ContextMenu sein. In der Flash Player-<br />

Laufzeitumgebung steht nur die ContextMenu-Klasse zur Verfügung.<br />

Sie können auf native Menüereignisse oder Kontextmenüereignisse warten, wenn Sie die ContextMenu- und<br />

ContextMenuItem-Klassen verwenden; beide werden ausgelöst. Ein Vorteil der vom ContextMenuEvent-Objekt<br />

bereitgestellten Eigenschaften liegt darin, dass contextMenuOwner das Objekt identifiziert, dem das Menü zugeordnet<br />

ist, und dass mouseTarget das Objekt identifiziert, auf das zum Öffnen des Menüs geklickt wurde. Diese<br />

Informationen sind vom NativeMenuEvent-Objekt nicht verfügbar.<br />

Das folgende Beispiel erstellt ein Sprite-Objekt und fügt ein einfaches Kontextmenü mit Bearbeitungsbefehlen hinzu:<br />

var sprite:Sprite = new Sprite();<br />

sprite.contextMenu = createContextMenu()<br />

private function createContextMenu():ContextMenu{<br />

var editContextMenu:ContextMenu = new ContextMenu();<br />

var cutItem:ContextMenuItem = new ContextMenuItem("Cut")<br />

cutItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doCutCommand);<br />

editContextMenu.customItems.push(cutItem);<br />

var copyItem:ContextMenuItem = new ContextMenuItem("Copy")<br />

copyItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doCopyCommand);<br />

editContextMenu.customItems.push(copyItem);<br />

var pasteItem:ContextMenuItem = new ContextMenuItem("Paste")<br />

pasteItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doPasteCommand);<br />

editContextMenu.customItems.push(pasteItem);<br />

return editContextMenu<br />

}<br />

private function doCutCommand(event:ContextMenuEvent):void{trace("cut");}<br />

private function doCopyCommand(event:ContextMenuEvent):void{trace("copy");}<br />

private function doPasteCommand(event:ContextMenuEvent):void{trace("paste");}<br />

Hinweis: Im Gegensatz zu SWF-Inhalt, der in einer Browserumgebung angezeigt wird, enthalten Kontextmenüs in AIR<br />

keine integrierten Befehle.<br />

Anpassen von Flash Player-Kontextmenüs<br />

In einem Browser oder Projektor haben Kontextmenüs in SWF-Inhalten immer integrierte Menüpunkte. Sie können<br />

alle dieser Standardbefehle mit Ausnahme der Optionen „Einstellungen“ und „Info“ aus dem Menü entfernen. Durch<br />

Setzen der Stage-Eigenschaft showDefaultContextMenu auf false werden diese Befehle aus dem Kontextmenü<br />

entfernt.<br />

Letzte Aktualisierung 27.6.2012<br />

672

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!