4

ExtJSは、ウィンドウが 最大化最小化などとして構成されているかどうかに関するいくつかの構成を提供します。また、ウィンドウを最大化および最小化する機能も提供します。

ただし、既存のウィンドウ状態をフェッチする正しい方法が見つかりません。私が必要としているのは、以下のような関数です。

var myWin = Ext.create('Ext.window.Window', { ... });
...
myWin.isMinimized(); // is current window minimized?
myWin.isMaximized(); // is current window maximized?

現在のウィンドウの状態をウィンドウインスタンスから取得できますか?

4

3 に答える 3

3

オブジェクトから取得できるmaximize()ブールプロパティがあるためです。maximized

if (myWin.maximized) { ... }

ただし、minimize()ExtJSの場合、機能は提供されず、個別の実装が必要です。minimizedしたがって、ボックスからサポートされるプロパティはありません。

于 2013-03-04T10:38:52.693 に答える
1

@VisioNの回答はすでに完了していますがtoggleCollapse()、ウィンドウを非表示にするために使用するスニペットを表示したいと思います。

Ext.create('Ext.Window',{
    height: 100,
    width: 100,
    minimizable: true,
    listeners: {
        minimize: function(){
            var win = this;
            win.toggleCollapse();
            if (!win.getCollapsed()) {
                win.center();
            } else {
                win.alignTo(document.body, 'bl-bl');
            }
        }
    }
}).show();
于 2013-03-04T11:22:42.560 に答える
1

minimizableconfigを使用する代わりに、探している人のための1つの解決策はを使用しますtools。これが完全な例です。

var isMinimized = false;   //if you want to check for minimized elsewhere..
var winWidth;          //to restore to actual width.
Ext.create('Ext.window.Window', {
    title: 'Hello',
    closable : false,
    width : 300, height : 400,
     tools: [
                {  
                    type: 'restore',
                    hidden : true,
                    handler: function( evt,toolEl,owner,tool ) {
                        var window = owner.up( 'window' );
                        window.expand('',false);
                     window.setWidth(winWidth);
                        window.center();
                        isMinimized = false;
                        this.hide();
                        this.nextSibling().show();
                    }                                
                },{  
                    type: 'minimize',
                    handler: function( evt,toolEl,owner,tool ){
                        var window = owner.up( 'window' );
                        window.collapse();
                        winWidth = window.getWidth();
                        window.setWidth( 150 );
                        window.alignTo( Ext.getBody(), 'bl-bl');
                        this.hide();
                        this.previousSibling().show();
                        isMinimized = true;
                    }                                
                }                            
            ]
}).show();
于 2013-09-07T05:41:41.567 に答える