0

マウス クリックを無効にして、ビジー カーソルを UIComponent から外部に表示しようとしています。私はこれをやっています:

protected function setBusyCursor() : void {

        const stage:Stage = mx.core.FlexGlobals.topLevelApplication.stage;
        if (stage){
            stage.mouseChildren = false;
        }
        CursorManager.setBusyCursor();
    }

これは確かにマウスクリックを無効にしますが、カーソルは通常のポインター (ビジーポインターではありません) として表示されます。何が間違っているのですか?

4

2 に答える 2

0

最後に、私はこれでそれを行うことができます:

protected function setBusyCursor() : void 
    {   
        var i : int = 0;
        var uiComponent : UIComponent = FlexGlobals.topLevelApplication.parent.getChildAt(i);
        while (uiComponent != null){
            uiComponent.mouseChildren = false;
            uiComponent.cursorManager.setBusyCursor();
            i+=1;
            if ( FlexGlobals.topLevelApplication.parent.getChildAt(i) is UIComponent) {
                uiComponent = FlexGlobals.topLevelApplication.parent.getChildAt(i);
            }
            else {
                uiComponent = null;
            }
        }
    }

    protected function removeBusyCursor() : void {
        var i : int = 0;
        var uiComponent : UIComponent = FlexGlobals.topLevelApplication.parent.getChildAt(i);           
        while (uiComponent != null){
            uiComponent.cursorManager.removeBusyCursor();
            uiComponent.mouseChildren = true;
            i+=1;
            if ( FlexGlobals.topLevelApplication.parent.getChildAt(i) is UIComponent) {
                uiComponent = FlexGlobals.topLevelApplication.parent.getChildAt(i);
            }
            else {
                uiComponent = null;
            }
        }

    }

画面内のすべてのマウスクリックを無効にし、ビジーカーソルを置きます。

于 2013-03-14T17:30:11.283 に答える
0

必要なすべてのコード、私は 4.5.1 フレックス フレームワークをテストしました。完璧に動作します。使用する:

protected function setBusyCursor() : void 
{       
    FlexGlobals.topLevelApplication.mouseChildren = false;
    CursorManager.removeAllCursors();
    CursorManager.setBusyCursor();
}
于 2013-03-06T15:17:29.063 に答える