偵聽視窗事件Adobe AIR 1.0 以及更新的版本 若要偵聽視窗所傳送的事件,請用視窗實體登錄偵聽程式。例如,若要偵聽 closing 事件,請如下所示,以視窗登錄偵聽程式: myWindow.addEventListener(Event.CLOSING, onClosingEvent); 傳送事件時,target 屬性會參考視窗傳送該事件。 大部分視窗事件有兩則相關訊息。第一則訊息標示視窗變更即將發生 (且可以取消),而第二則訊息標示已發生變更。例如,當使用者按一下視窗的「關閉」按鈕時,就會傳送 closing 事件訊息。如果沒有偵聽程式取消該事件,視窗就會關閉,並傳送 close 事件給任何偵聽程式。 一般來說,警告事件 (如 closing) 只有在使用系統顏色來觸發事件時才會傳送。例如,呼叫 window close() 方法不會自動傳送 closing 事件,而只傳送 close 事件。但是,您可以建構 closing 事件物件,並使用 window dispatchEvent() 方法加以傳送。 傳送 Event 物件的視窗事件如下:
傳送 NativeWindowBoundsEvent 物件的視窗事件如下:
對於 NativeWindowBoundsEvent 事件,您可以使用 beforeBounds 和 afterBounds 屬性,判斷即將完成或已完成變更前後的視窗邊界。 傳送 NativeWindowDisplayStateEvent 物件的視窗事件如下:
對於 NativeWindowDisplayStateEvent 事件,您可以使用 beforeDisplayState 和 afterDisplayState 屬性,判斷即將變更或已完成變更前後的視窗顯示狀態。 在部分 Linux 視窗管理員中,最大化已設定最大大小的視窗時,並不會傳送顯示狀態變更事件 (視窗已設定為最大的顯示狀態,但未調整大小)。 |
|