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

时间:2023-03-09 02:01:05
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();

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

一、属性
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组件最小化

ExtJS中Window的用法示例