이럴 기존 Ext.panel.Panel 및 Ext.window.Window을 무시하는 것입니다, 나는이 작업을 수행하는 가장 좋은 방법은 귀하의 개인 창/패널 클래스를 정의하는 것입니다 생각합니다. 예, 한 가지 방법은 Ext.override 함수를 사용하는 것이지만 좋은 생각이라고는 생각하지 않습니다.
나는이 작업을 수행하는 것이 좋습니다 :
Ext.define ('MyCustomWindow', {
extend: 'Ext.window.Window' ,
listeners: {
afterlayout: function (win) {
fleXenv.fleXcrollMain (win.body.id);
}
}
}
Ext.define ('MyCustomPanel', {
extend: 'Ext.panel.Panel' ,
listeners: {
afterlayout: function (panel) {
fleXenv.fleXcrollMain (panel.body.id);
}
}
}
지금, 당신은 변경되지 Ext.window.Window 및 Ext.panel.Panel를 떠나, MyCustomWindow 및 MyCustomPanel을 인스턴스화 할 수 있습니다.
또 다른 방법은 창 관리자와 PanelManager (자신에 의해 정의 된이 하나)를 사용하는 것입니다 :
Ext.WindowManager.register (window1);
Ext.WindowManager.register (window2);
Ext.WindowManager.register (window3);
Ext.WindowManager.each (function (win) {
win.on ('afterlayout', function (window) {
fleXenv.fleXcrollMain (window.body.id);
});
});
이 경우는, 먼저 호출 한 후, 당신의 창 및 패널을 인스턴스화 자신의 관리자로 등록해야하는 위의 예제에서와 마찬가지로 각 함수가 있습니다.