Microsoft OS (xp、vista、7 など) のウィンドウのように...
メイン ウィンドウがモーダル ウィンドウを作成する場合、ユーザーはメイン ウィンドウにアクセスできません
(ツールバーを閉じてアクセスするなどを含む)。
extjsで似たようなものを作りたいです。これは私のモーダルの例です:
Ext.create("Ext.Window", {
title: 'aa',
width: 200,
height: 150,
html: 'a',
tbar: [{
text: 'aa',
handler: function() {
Ext.create("Ext.Window", {
title: 'aa',
width: 150,
closable: false,
height: 100,
html: 'b',
ownerCt: this,
modal: true
}).show();
}
}]
}).show();
問題は、メイン ウィンドウの本体を無効にするだけで、ユーザーは引き続きメイン ツールバーにアクセスでき、それを閉じることもできます。
私の質問は、フルモーダルを作成する方法ですか? または、それができない場合、メインウィンドウを無効にする方法、モーダルウィンドウが表示されている場合、モーダルウィンでリスナーショーを使用していますが、問題はこのリスナーからメインウィンドウにアクセスできないことです。
編集 :
これはこれまでの私のコードです:
Ext.create("Ext.Window", {
title: 'aa',
width: 200,
height: 150,
html: 'a',
maskOnDisable: false,
tbar: [{
text: 'aa',
handler: function(a) {
var parent = a.up("window");
parent.disable();
Ext.create("Ext.Window", {
title: 'aa',
width: 150,
height: 100,
html: 'b',
listeners: {
scope: this,
"close": function() {
parent.enable();
},
/*
"blur" : function(){
this.focus()
}
*/
}
}).show();
}
}]
}).show();
これはモーダルの概念ではありませんが、今欲しいもののように思えますが、新しい問題maskOnDisable
があり、機能せず、のようなイベントが必要なblur
ので、ユーザーが親ウィンドウをクリックすると、ポップアップ ウィンドウに戻ります。(新しい質問として投稿する必要がありますか?)