2011-09-01 58 views
0

在我的AIR應用程序中,當用戶創建一個新項目時,我想要一個彈出框出現在他們可以在其中輸入其項目名稱的地方。我明白這是如何通過使我的自己類型的彈出框,但有沒有一種方法可以使用NativeWindows來完成此操作?也就是說,我可以使用包含文本字段和按鈕的系統chrome出現一個窗口嗎?AS3 AIR - NativeWindow彈出框

我在FlashDevelop中使用Flex 4和AIR 2.7。

回答

6

是的,你可以。創建新的NativeWindow時,您可以添加子項並將其移除到舞臺上。所以你可以將你的類/組件添加到新窗口並聽取他們的事件。

// create NativeWindowInitOptions 
var windowInitOptions:NativeWindowInitOptions = new NativeWindowInitOptions(); 
windowInitOptions.type = NativeWindowType.NORMAL; 
windowInitOptions.minimizable = true; 
windowInitOptions.resizable = false; 
windowInitOptions.maximizable = false; 
windowInitOptions.systemChrome = NativeWindowSystemChrome.STANDARD; 
windowInitOptions.transparent = false; 

// create new NativeWindow 
var newWindow:NativeWindow = new NativeWindow(windowInitOptions); 

// create your class 
var popupBox:Sprite = new Sprite(); 

// resize 
newWindow.width = popupBox.width; 
newWindow.height = popupBox.height; 

// add 
newWindow.stage.addChild(popupBox); 

// configure 
popupBox.addEventListener(YourCustomEvent.CONFIRM, onPopupConfirm); 

// for a popup it might be nice to have it activated and on top 
newWindow.alwaysInFront = true; 
newWindow.activate(); 

在onPopupConfirm函數中,您可以關閉Window和清理引用。 (NativeWindow上的Event.CLOSING,可以派上用場來捕捉alt + F4關閉等)

+0

甜美,感謝的伴侶。我正在考慮嘗試像這樣的事情,但我只是想過問問題。對製作NativeWindows沒有經驗。保持良好的工作。 – puggsoy

+0

沒問題,很高興我可以幫忙! –