0

我有一个带有几个窗口的空气应用程序。当我使用 httpservice 时,繁忙的光标出现在当前窗口的背面(它出现在初始窗口上)。任何人都可以帮我将繁忙的光标放在所有窗口的前面。

4

1 回答 1

1

科迪亚克,

HTTPService 文档描述了我假设 isabelle 正在使用的showBusyCursor 参数。如果使用 MXML,您只需添加一个参数 showBusyCursor="true"。如果使用 AS,您将设置属性 myHttpServiceObject.showBusyCursor=true

伊莎贝尔,

我跟踪了 .showBusyCursor=true AS 调用。我在 HTTPService 和 AbstractOperation 中的“function get showBusyCursor()”调用上设置了断点。AbstractOperation.invoke 调用 CursorManager.setBusyCursor(),这是不幸的。

CursorManager 文档中有一条注释说

在 AIR 中,每个 mx.core.Window 实例都使用自己的 CursorManager 类实例。在 AIR 应用程序中,不是直接引用 CursorManager 类的静态方法和属性,而是使用 Window.cursorManager 属性来引用 Window 实例的 CursorManager 实例。

我读到这意味着没有真正的全局位置来设置光标——它是在每个窗口的基础上完成的。

想到的唯一解决方案是监听来自 HTTPService 的调用和结果事件,并使用 this.cursorManager.setBusyCursor() 和 this.cursorManager.removeBusyCursor() 在每个窗口中手动设置光标。

我希望其他人可以添加到这一点 - 在我的应用程序中,我有六种不同的窗口类型和大量的 HTTPService 调用。这可能会导致一些非常混乱的代码。

于 2011-06-29T15:37:43.403 回答