2012-05-03 10 views
8

常に上に置くことができるウィンドウを実装する必要があります。私はどうしたらいいですか?ウィンドウマネージャですべての私の試みは私に何の結果:(ExtJS 4「常に上に」ウィンドウ

+0

はこれを見ている:http://stackoverflow.com/questions/6053847/how-to-make-a-full-modal-window-in-ext-4 – Dave

+1

は見てみましょう'Ext.ZIndexManager.bringToFront()'メソッド –

+0

これをチェックしてください。 http://docs.sencha.com/extjs/5.1.0/api/Ext.window.Window.html#cfg-alwaysOnTop –

答えて

7

Ext.window.Window Inを与えない、「モーダル」と呼ばれるプロパティがあります:。trueに設定し

そうでない場合は、管理するためにウィンドウマネージャを使用あなたの窓:この場合には次の手順に従ってくださいする必要があります。

  1. レジスタウィンドウマネージャ(Ext.WindowManager.register(winId))からあなたの窓最終的には、getActive方法(Ext.WindowManager.getActive(と上の要素を確認する上で、あなたのウィンドウを設定するには、BringToFront関数方法(Ext.WindowManager.bringToFront(winId)
  2. 使用)

例:

Ext.create ('Ext.window.Window', { 
    title: 'Your window' , 
    width: 300 , 
    height: 300 , 
    html: 'ciao ciao' , 
    modal: true 
}).show(); 

または:

var win1 = Ext.create ('Ext.window.Window', { 
    title: 'Your window' , 
    id: 'firstWin' , 
    width: 300 , 
    height: 300 , 
    html: 'ciao ciao' , 
}); 
win1.showAt (50, 50); 

var win2 = Ext.create ('Ext.window.Window', { 
    title: 'Your window' , 
    id: 'secondWin' , 
    width: 300 , 
    height: 300 , 
    html: 'I love pizza' , 
}); 
win2.showAt (60, 60); 

// Register your floating objects (window in this case) to the WindowManager 
Ext.WindowManager.register (win1); 
Ext.WindowManager.register (win2); 

// Bring 'firstWin' on top 
Ext.WindowManager.bringToFront ('firstWin'); 

// Then, check the zIndexStack 
alert (Ext.WindowManager.getActive().getId()); // this is firstWin, the window with the highest zIndex 

希望すると助かります。

Cyaz

+0

これはうれしいことです。**主な質問**は次のとおりです。** HOW **検出する新しいウィンドウが私のウィンドウに表示されますか? –

+0

ああ、今すぐ入手できます;)まず、ウィンドウをWindowManagerに登録する必要があります。次に、WindowManagerのzIndexStackをチェックします;)スタックの最初の要素は、最も高いzIndexを持つ要素です。 Ext.WindowManager.zIndexStack [0]はあなたのソリューションですが、私はExt.WindowManager.getActive()でも同じことをするべきだと思いますが、私の実験ではうまくいきません... 私の最初の答えは – Wilk

+1

Ok、私はちょうどExt.WindowManager.getActive()を介して最高のzIndexを持つウィンドウを取得する方法を理解しました。各ウィンドウのtoFront()メソッドを使用する代わりに、Extを使用する必要があります。 WindowManager.bringToFront(id/object)を開き、Ext.WindowManager.getActive();でチェックします)編集したソリューションを探します。チャオ! – Wilk

関連する問題