在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window。
我们首先来创建一个窗口:
var win = Ext.create("Ext.window.Window", {
title: "标题 - www.qeefee.com", //标题
height: 200, //高度
width: 400, //宽度
layout: "fit", //窗口布局类型
modal: true, //是否模态窗口,默认为false
html: "<h2>你打开了一个窗口</h2>" //窗口的html代码
});
win.show(); //显示窗口
窗口的截图如下
在ExtJS 4.x中,我们推荐使用Ext.create()方法来创建对象。这个方法的第一个参数是类名,第二个参数的创建对象时用到的配置项。
在上面的示例中,我已经将配置项加了备注,不在详细的说明。
接下来看一个比较复杂的窗口
var win = Ext.create("Ext.window.Window", {
title: "标题 - www.qeefee.com",
height: 300,
width: 400,
layout: "fit",
modal: true,
resizable: false,
maximizable: true,
minimizable: false,
closable: true,
tbar: [
{ text: "保存", iconCls: "qicon-save" },
{ text: "新建", iconCls: "qicon-add" }
],
buttons: [
{ text: "确定", iconCls: "qicon-accept" },
{ text: "取消", iconCls: "qicon-delete" },
],
items: []
});
win.show();
程序运行截图如下
这个窗口有最大化和关闭按钮,并且包含了工具栏和按钮项,更像是我们在实际开发中使用的。
关闭窗口
窗口的关闭有两种方法,一种是close,一中是hide,从名字中就可以看出,前一个是真的关闭窗口并释放窗口资源,而hide则是将窗口隐藏了。
var g_win = Ext.create("Ext.window.Window", {
title: "标题 - www.qeefee.com",
height: 200,
width: 400,
layout: "fit",
modal: false,
html: "<h2>你打开了一个窗口</h2>"
});
Ext.get("btn3").on("click", function () {
g_win.show(); //显示窗口
});
Ext.get("btn4").on("click", function () {
g_win.hide(); //隐藏窗口
});
Ext.get("btn5").on("click", function () {
g_win.close(); //关闭窗口(窗口关闭的时候将释放窗口资源)
});
在这段代码中,我们首先定义了一个全局的窗口,并在界面上放了三个按钮呢,分别绑定显示、隐藏和关闭窗口的方法。
当我们点击关闭窗口按钮以后,再回过头来点击显示窗口时会发现没有反应,打开控制台则能看到脚本错误:
这是因为close的时候窗口资源已经被释放了的原因