複数のウィンドウを持つ空気アプリケーションがあります。httpservice に移動すると、ビジー カーソルが現在のウィンドウの裏側に表示されます (最初のウィンドウに表示されます)。ビジーカーソルをすべてのウィンドウの前に配置するのを手伝ってくれる人はいますか?
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() を使用して各ウィンドウにカーソルを手動で設定することです。
他の誰かがこれに追加できることを願っています-私のアプリケーションでは、6つの異なるウィンドウタイプと多くのHTTPService呼び出しがあります。これにより、非常に厄介なコードが作成される可能性があります。