1
我有一个Adobe Air应用程序(AS3,而不是Flex),有2个窗口。当我点击离开他们到另一个桌面程序,我得到一个“停用”事件(如你所期望的)。空气本机窗口活动窗口更改
当我点击说窗口#1我得到一个“激活”事件(如你所期望的)。
但是当我从1号窗口到2号窗口时,我什么都没有。我相信这是因为Air应用程序仍然是活跃的程序,只是一个不同的窗口。
但是我有必要知道我什么时候从一个窗口走到另一个窗口。
我到目前为止提出的可怕的解决方案是有一个onEnterFrame
并检查当前窗口是否为活动窗口。但我更愿意做这样一个更好的方式,这样的黑客攻击。
我已经去Stage
,NativeApplication
和Native Window
事件,他们都没有做我所需要的。任何人都可以指向我可能忽略的另一个事件吗?
我不知道,它似乎像侦听激活应该工作。你确定你是从正确的调度员那里听的吗?如果切换到另一个应用程序,然后返回到窗口2,窗口1是否触发激活事件? –
是的,如果你从窗口#1到其他应用,然后窗口#1(或窗口#2)它触发一个激活。但是,如果你从窗口#1到窗口#2或窗口#2到窗口#1(例如,你永远不会离开空气应用程序),则不触发任何事件。 – WORMSS
你在监听NativeWindow对象上的事件吗?如果我记得正确,窗口应该派遣他们自己的激活/停用事件,这些事件与应用程序激活/停用事件分开。 –