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:
Anzeigezustand zu ändern.
    displayStateChange
Wird ausgelöst, sobald ein Fenster seinen Anzeigezustand geändert hat.
Lösungsweg
    Registrierung eines Ereignis-Listeners mithilfe NativeWindow.addEventListener() . Die Listener -Funktion erwartet ein NativeWindowDisplayStateEvent - Objekt als Parameter.
    So geht es
Das nachfolgende ActionScript-Codebeispiel zeigt, wie auf Anzeigezustandsänderungen programmatisch reagiert werden kann:
    package {
import flash.display.NativeWindow;
import flash.display.NativeWindowInitOptions;
import flash.display.Sprite;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.events.NativeWindowDisplayStateEvent; import flash.text.TextField;
    public class DisplayStateEventTest extends Sprite {
private var newWin:NativeWindow; private var txtField:TextField;
    public function DisplayStateEventTest() {
txtField = new TextField();
txtField.multiline = true;
newWin = new NativeWindow(new NativeWindowInitOptions()); with (newWin) {
title = "Anzeigezustand abfragen";
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addChild(txtField);
txtField.width = width;
txtField.height = height;
activate();
addEventListener(NativeWindowDisplayStateEvent. DISPLAY_STATE_CHANGING, displayStateListener); addEventListener(NativeWindowDisplayStateEvent. DISPLAY_STATE_CHANGE, displayStateListener); }
}
    public function displayStateListener(e:
    NativeWindowDisplayStateEvent):void {
switch(e.type) {
case NativeWindowDisplayStateEvent.
DISPLAY_STATE_CHANGING:
    txtField.appendText("Anzeigezustand von " + e.beforeDisplayState+"auf"+ e.afterDisplayState + " ändern…\n"); break;
    default:
txtField.appendText("Anzeigezustand auf " + e.afterDisplayState + " geändert.\n\n");
    }
}
}
}
Listing 9.10 Anzeigezustand per Ereignis-Listener verarbeiten
9.8.3 Auf Größen- und Positionsänderungen reagieren
    Für das Verschieben und die Größenänderungen schließlich wird ein NativeWindowBoundsEvent ausgelöst:
    moving
Wird unmittelbar vor einer Positionsänderung der oberen linken Ecke des nativen Fensters ausgelöst.
    move
Wird ausgelöst, nachdem die obere linke Ecke des Fensters verschoben wurde.
    resizing
Wird unmittelbar vor einer Änderung der Höhe oder Breite des Fensters ausgelöst.
    resize
Wird ausgelöst, nachdem die Höhe oder Breite des Fensters geändert wurde.
Lösungsweg
    Registrierung eines Ereignis-Listeners mithilfe NativeWindow.addEventListener() . Die Listener-Funktion erwartet ein NativeWindowBoundsEvent -Objekt als Parameter.
    So geht es
Das nachfolgende ActionScript-Beispiel zeigt die Verarbeitung von Ereignissen infolge Verschiebens oder Größenänderung eines nativen Fensters:
    package {
import flash.display.NativeWindow;
import flash.display.NativeWindowInitOptions;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.NativeWindowBoundsEvent;
import flash.text.TextField;
    public class ResizeEventTest extends Sprite {
private var newWin:NativeWindow; private var txtField:TextField; txtField = new TextField();
with(txtField) {
width = 200;
height = 20;
x=10;
y=10;
}
newWin = new NativeWindow(new NativeWindowInitOptions());
with(newWin) {
title = "Größen-/Positionsänderung verarbeiten"; stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addChild(txtField);
addEventListener(NativeWindowBoundsEvent.MOVE, resizeMoveListener);
addEventListener(NativeWindowBoundsEvent.RESIZE, resizeMoveListener);
activate();
}
}
    public function ResizeEventTest() {
private function resizeMoveListener(e:NativeWindowBoundsEvent): void {
switch(e.type) {
    case NativeWindowBoundsEvent.MOVE:
txtField.text = "Woo! Ich werde bewegt!"; break;
    default:
txtField.text = "Yay, ich verändere meine Größe!"; }
}
}
}
Listing 9.11 ActionScript: Positions- und Größenänderung einer AIR-Anwendung
9.9 Mehrere native Fenster in der AIR-Anwendung
    Wenn Sie in Ihrer AIR-Anwendung mehrere native Fenster verwenden, ob Sie nun ein Utility-Fenster für Ihre Voreinstellungen öffnen oder ein sogenanntes Lightweight-Fenster für ein Toast-Fenster (ein Fenster, mit dem Sie z. B. einen Tipp auf dem Bildschirm einblenden), können Sie auf alle Fenster der Anwendung zugreifen.
AIR stellt zu diesem Zweck die schreibgeschützte Eigenschaft openedWindows der NativeApplication -Instanz als Array zur Verfügung, das Referenzen auf alle geöffneten NativeWindow -Instanzen enthält.

Weitere Kostenlose Bücher