0

ページ上に複数の移動可能な ExtJS ウィンドウがある ExtJS アプリケーションを開発しています。デフォルトでは、ExtJS はすべての新しいウィンドウを定義済みの同じ位置に作成します。これにより、新しいウィンドウが同じ場所に配置されます。アプリケーションはユーザーに対して 10 以上のウィンドウを開くことができるため、これはユーザビリティーにとって非常に悪いものです。この時点で、画面の中央に複数のウィンドウが常に重なっていることに気付きました (デフォルトの動作)。

新しいウィンドウのよりスマートな配置を決定するために使用できる単純なアルゴリズムを知っている人はいますか?

それほど複雑ではないが、アプリケーションの使いやすさを向上させるものを好みます。ほとんどのウィンドウはデフォルトで比較的小さいため、画面上に空きスペースを確保する必要があります。現在のウィンドウに関する情報を取得するために WindowMgr を照会できることはわかっていますが、従うべき何らかのロジックが必要です。

ウィンドウをカスケードするために、デフォルトの x と y に 10 ピクセルを追加するだけでよいと思いますが、それは少しばかげているように感じます。

4

1 に答える 1

0

次のような方法で、現在のすべてのウィンドウをカスケードできます。お好みで変更してください

Ext.Array.each(Ext.ComponentQuery.query('window'), function(win, index){
   win.setPosition(index * 10, index * 10);        
})

http://jsfiddle.net/q93Zt/1/

于 2013-08-19T18:27:44.127 に答える