Bücher online kostenlos Kostenlos Online Lesen
Adobe Air (wiwobooks.com Release)

Adobe Air (wiwobooks.com Release)

Titel: Adobe Air (wiwobooks.com Release) Kostenlos Bücher Online Lesen
Autoren:
Vom Netzwerk:
werden. Wie bei der Verwendung von JavaScript-Ereignissen üblich, kann zur Deklaration zur Deklaration von EreignisListenern innerhalb des HTML-Quelltextes in einem HTML-Element der EreignisListener oncontextmenu definiert werden, der auf eine entsprechende Funktion im Skript verweist.
10.12 Menüs in Flex
    Das Flex-Framework bietet die Möglichkeit, in Web-Anwendungen ähnliche Menüs wie in Desktop-Anwendungen darzustellen.
10.12.1 Menüs in Flex für Webanwendungen
    Wenn Sie Flex verwenden, um Webanwendungen zu erstellen, werden Sie eventuell schon einmal über die MenuBar -Komponente gestolpert sein. Diese stellt ergänzend zu den Rechts-/(ctrl) + Klick-Kontextmenüs eine Funktionalität bereit, die so etwas wie Fenstermenüs oder Kontextmenüs simulieren kann, die jedoch mit normalem Mausklick aktiviert werden (Sie wissen schon: Sonst erscheinen die Menüpunkte, die man nicht will). Dass diese Menüs innerhalb der Anwendung als Displayobjekte erstellt werden, hat den Nachteil, dass derart simulierte Menüs insbesondere bei kleinen Bildschirmen ganz oder teilweise vom Bildschirm verschwinden können, wie z. B. in Abbildung 10.11 zu sehen ist. Von einer Desktopanwendung wird in jedem Fall erwartet, dass die Menüpunkte über das Fenster hinausgehen, falls notwendig.
    Abbildung 10.11 Mithilfe der MenuBar-Klasse: Menüs als Display-Objekte in Flex
    Da in AIR ausreichend Alternativen bereitstehen, sodass Sie Menüs nicht simulieren müssen, wird auf die MenuBar -Komponente des Flex-Frameworks an dieser Stelle nicht genauer eingegangen – ich halte es lediglich für wichtig, dass Sie sie »auf dem Radar haben« und sich bewusst sind, dass sich zwischen Web- und Desktopanwendung unter Umständen Bedienungsunterschiede ergeben können.
Native Menüs in Flex10.12.2
    Flex stellt für NativeMenu als Wrapper eine Klasse FlexNativeMenu bereit. Diese ermöglicht die komfortable Zuweisung der Menüpunkte via XML oder anderer als Datenprovider geeigneter Collection -Objekte. Sie können so die Struktur des Menüs bereits im MXML-Quelltext vorgeben. Auch andere Eigenschaften der Menüpunkte wie Tastaturkürzel und Menükürzel können so definiert werden.
    Lösungsweg
    1. Definition der Menüstruktur mithilfe XML, XMLListCollection , ArrayCollection oder einer ICollectionView implementierenden Klasse (andere Klassen werden von Flex entsprechend umgewandelt)
    2. Definition eines FlexNativeMenu -Elements in MXML mit der Eigenschaft dataProvider , die auf das Element verweist, die die Menüstruktur enthält. 3. Zuweisen der FlexNativeMenu -Instanz
    Als Fenstermenü/Systemmenü: ID des FlexNativeMenu -Elements der menu -Eigenschaft des WindowedApplication -Elements zuweisen Als Kontextmenü für eine InteractiveObject -Komponente: Aufruf der Funktion setContextMenu() der FlexNativeMenu -Instanz, InteractiveObject -Instanz als Parameter
    So geht es
Das folgende Beispiel zeigt die Erstellung des Kontextmenüs einer Panel -Komponente in Flex, das bei einem Rechtsklick auf den Titel des Panels erscheint:
    

    

    

    



    
    




    private function init():void {
myContextMenu.setContextMenu(plContextMenuExample);
    }
private function itemClickHandler
(e:FlexNativeMenuEvent):void {
    taMsg.text += e.label + " ausgewählt\n";
}
    ]]>

    "{menuStructure}" labelField="@label"
keyEquivalentField="@keyEquivalent" showRoot="false"
itemClick="itemClickHandler(event)"/>
    
    


Listing 10.5 Definition eines Kontextmenüs in Flex
Abbildung 10.12 zeigt das Ergebnis.
Abbildung 10.12 Kontext-Menü in einer Flex-basierten AIR-Anwendung
    AIR-Anwendungen sind nicht einfach nur Desktopanwendungen, die

Weitere Kostenlose Bücher