ExtJS学习之路第八步:Window组件


  一个专门Panel用作程序窗口。默认的,Window可以是浮动的(floated)、可缩放(resizable)以及可拖动的(draggable)。Window能够被最大化适应可视窗口,(restored)恢复到先前的大小以及可以最小化。
Window也可以被链接到一个Ext.ZIndexManager或者由Ext.WindowManager来提供分组(grouping)、活动(activation)、向前(to front)、向后(to back)和其它特定程序行为。
  默认情况下,Window要被渲染到document.body的,要限制讲Window渲染到另一个元素。
和其他所有容器一样,考虑如何安排子组件和窗口大小是非常重要的。选择合适的layout 配置,让窗口按需布局子组件。

举例:

复制代码
 var myWin =Ext.create("Ext.window.Window",{ 
                title: '窗口',
                plain:false,
                 300,
                height: 200,
                bodyStyle:{
                    "padding":"8px"
                },
                html: '<h1>秘密</h1><p>成功者成功的要素不在于强干的能力,而在于一颗容得下世界的心。</p>',
                resizable: true,
                modal: true,
                closable: true,
                maximizable: true,
                minimizable: true,
                tbar: [
                    { text: "保存", iconCls: "save" },
                    { text: "新建", iconCls: "add" }
                ],
                buttons: [
                    { text: "确定", iconCls: "qicon-accept" },
                    { text: "取消", iconCls: "qicon-delete" },
                ]
            });
            myWin.show();
复制代码

一、属性
plain:布尔类型,true表示强制与背景色保持协调,默认值为false。用强烈背景色测试,没有发现true/false的区别,疑惑
resizable:布尔类型,用户是否可以调整窗体大小,默认值为true表示可以调整大小。
maxinizable:布尔类型,true表示显示最大化按钮,默认值为false。
minimizable: true:是否可以最小化,也可以理解为是否显示最小化按钮。
maximized:布尔类型,true表示显示窗体时将窗体最大化,默认值为false。
closable:布尔类型,true表示显示关闭按钮,默认值为true。
buttonAlign:窗体中button的对齐方式(left、center、right),默认值为right。
closeAction:"close"释放窗体所占内存,"hide"隐藏窗体,建议使用"hide"。
modal: true:是否为模态窗体[什么是模态窗体?当你打开这个窗体以后,如果不能对其他的窗体进行操作,那么这个窗体就是模态窗体,否则为非模态窗体。

疑惑 :设置的按钮没有背景图?
二、方法
show:打开窗体。
hide:隐藏窗体。
close:关闭窗体。
三、事件
show:打开窗体时触发。
hide:隐藏窗体时触发。
close:关闭窗体时触发。

显示了最小化按钮,点击的时候却没有任何反应。这是因为ExtJS没有处理最小化事件,需要我们自己来定义最小化按钮被点击时的操作。
配置中追加:

 listeners: {
            minimize: function () {
                var me = this;
                me.hide();
            }
        }

如果说是窗体show了,那么如何当窗口show的时候,弹出一个警告框呢?

追加到listeners中

show:function(){
                        Ext.MessageBox.alert("提示","窗口show")
                    }

参考文档:

无废话ExtJs入门教程三[窗体:Window组件]

ExtJS中Window组件最小化

ExtJS中Window的用法示例

原文地址:https://www.cnblogs.com/sunscheung/p/4839410.html