首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本机窗口打开时,禁止访问air应用程序中的其他首选项

问在本机窗口打开时,禁止访问air应用程序中的其他首选项
EN

Stack Overflow用户
提问于 2012-12-28 05:51:00
回答 1查看 323关注 0票数 1

我有个air申请。单击应用程序菜单项将打开本机窗口。就像在其他应用程序中一样,我希望在本机窗口打开时,应该禁止访问应用程序中的其他首选项(如关闭应用程序等)。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-28 08:19:35

我不知道有什么简单的方法可以做到这一点。我能想到的最好的办法就是监听停用事件,阻止它,然后手动重新激活窗口。下面是一些代码:

代码语言:javascript
复制
var args:NativeWindowInitOptions = new NativeWindowInitOptions();
var subWindow:NativeWindow = new NativeWindow(args);
subWindow.activate();
subWindow.addEventListener(Event.DEACTIVATE, onDeactivate);

private function onDeactivate(event:Event):void
{
    event.preventDefault();
    NativeWindow(event.target).activate();
}

这将确保此subWindow在关闭之前始终保持焦点。

我可以看到这种方法和这种类型的子窗口的典型应用程序行为有两个不同之处。

1)父窗口可以被拖来拖去(出于某种原因,这不会调度停用事件)

2)通常情况下,子窗口应该是一种“闪烁”,并播放一个警报声,指示必须先处理它,然后才能执行进一步的操作(这至少是Windows 7上其他应用程序的行为;我不确定其他操作系统的行为)。

对于拖动问题,您应该能够让父窗口侦听MOVING事件,并在子窗口处于活动状态时使用preventDefault()。

我没有看到任何复制2的行为的好方法。你可以在停用事件中使用子窗口notifyUser(NotificationType.INFORMATIONAL),但它不同于其他应用程序所做的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14061764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档