AS3 AIR - NativeWindow弹出框

时间:2011-09-01 08:31:04

标签: flash actionscript-3 air nativewindow

在我的AIR应用程序中,当用户创建一个新项目时,我想要一个弹出框出现在他们可以输入项目名称的位置。我理解这是如何通过制作我自己的弹出框类型来实现的,但有没有办法使用NativeWindows做到这一点?也就是说,我可以使用包含文本字段和按钮的系统镶边来创建一个窗口吗?

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

1 个答案:

答案 0 :(得分: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关闭等等)