【发布时间】:2012-01-31 00:35:58
【问题描述】:
在 AIR 中使用 NativeWindow 时,每次最小化/未最小化窗口时,您能否获得一个事件?我尝试与DisplayStateChanged 连接,但当窗口最小化时它不会触发。你知道如何获得这样的活动吗?
我使用的是 32 位 Windows 7,并且正在运行 AIR 3.5。
这是初始化代码:
var init:NativeWindowInitOptions = new NativeWindowInitOptions();
init.maximizable = true;
init.resizable = true;
init.type = NativeWindowType.NORMAL;
init.minimizable = true;
window = new NativeWindow(init);
window.alwaysInFront = true;
window.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE, dispChange, false, 0, true);
这是处理程序:
private function dispChange(e:NativeWindowDisplayStateEvent):void {
// if minimized / un-minimized
if (e.beforeDisplayState == NativeWindowDisplayState.NORMAL && e.afterDisplayState == NativeWindowDisplayState.MINIMIZED) {
trace("MINIMIZED!");
}else if (e.beforeDisplayState == NativeWindowDisplayState.MINIMIZED && e.afterDisplayState == NativeWindowDisplayState.NORMAL) {
trace("Un-MINIMIZED!");
}
}
【问题讨论】:
-
您需要显示一些代码并描述发生这种情况的环境(如操作系统等)!
-
请显示无效代码...
-
显示代码。这对你有用吗?
-
我敢打赌,是你的监听器中的弱引用做到了。尝试删除
addEventListener()函数调用中的最后三个参数。 -
我收到最大化和未最大化的事件,所以不是这样。
标签: windows flash actionscript-3 air minimized