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, width: 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") }
参考文档: