当打开时,ExtJS 4桌面模块窗口会拉伸destop /任务栏,其大小/位置会超出桌面大小

时间:2011-12-14 00:23:53

标签: extjs extjs4 extjs-mvc

如果我在模块上调用createWindow并为其提供width, heightxy值,则该窗口将打开正常,但会使桌面和/或任务栏看起来很紧张。

例如,如果打开了一个窗口,其底部边框位于任务栏下方,它不仅会覆盖任务栏,还会继续向下移动整个目标,使顶部消失,任务栏将拉伸一直到表格的底部。

理想情况下,我希望窗口的重叠部分滑出屏幕并位于任务栏下。

Ext.define('MyApp.view.locations.Module', {

.......

createWindow:        function (width, height, x, y) {

    this.width  = width  || 740;
    this.height = height || 480;

    var b = this.app.getDesktop();
    var a = b.getWindow('locations-module-window');

    if (!a) {

        this.locationsGrid   = Ext.create('MyApp.view.locations.Grid');
        this.locationsFilter = Ext.create('MyApp.view.locations.Filter');

        this.locationsPanel = Ext.create('Ext.form.Panel', {
            bodyPadding:       0,
            border:            true,
            fieldDefaults:     {
                labelAlign:   'left',
                msgTarget:    'side'
            },
            frame:             false,
            header:            false,
            id:               'locations-module-panel',
            layout:           'border',
            defaults:          {
                bodyStyle:    'padding: 15px',
                collapsible:   true,
                split:         true
            },
            items:             [
                this.locationsGrid,
                this.locationsFilter
            ]
        });

        a = b.createWindow({

            animCollapse:      true,
            border:            false,
            collapsible:       true,
            constrainHeader:   false,
            height:            this.height,
            width:             this.width,
            x:                 x,
            y:                 y,
            iconCls:          'icon-locations',
            id:               'locations-module-window',
            layout:           'fit',
            maximizable:       true,
            minimizable:       true,
            title:            'Locations',
            items:             [{
                activeTab:     0,
                defaults:      {
                    border:    false,
                    header:    false
                },
                xtype:        'tabpanel',
                items:         [{
                    iconCls:  'icon-locations',
                    layout:   'fit',
                    title:    'Branches',
                    items:     this.locationsPanel
                },{
                    html:     "<p>Region items go here.</p>",
                    iconCls:  'icon-regions',
                    title:    "Regions"
                }]
            }]
        });
    };

    a.show();
    return a
},

....

1 个答案:

答案 0 :(得分:0)

Ext.window.Window&#39; documentation

中查看此评论
  

默认情况下,Windows将呈现为document.body。要将Window约束到另一个元素,请指定renderTo。

因此,将renderTo设置为包含所有窗口的任何面板。据推测,该面板不会与任务栏重叠。那么窗户也不会。