1. 程式人生 > >ExtJS基礎第五講學習--Extjs視窗元件Window

ExtJS基礎第五講學習--Extjs視窗元件Window

第五講:視窗元件Window

示例一:顯示Window

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head>

    <title>Window</title>

    <script type="text/javascript"

src="../Ext/adapter/ext/ext-base.js"></script>

    <script type="text/javascript" src="../Ext/ext-all-debug.js"></script>

    <script type="text/javascript" src="Window.js"></script>

    <link rel="stylesheet" type="text/css" href="../Ext/resources/css/ext-all.css"></

link>

  </head>

  <body>

  </body>

</html>

Ext.onReady(

function() {

new Ext.Window({

width:300,

height:300,

title:"window"

}).show();

}

);

resizable:false,(是否可以改變大小,預設可以)

maximizable:true,(是否增加最大化,預設沒有)

draggable:false,(是否可以拖動,預設可以)

minimizable:true,(是否增加最小化,預設無)

closeAction屬性用來設定關閉按鈕操作,有兩個可選值,一個為close,一個為hide

如果為close,那麼關閉後不能再開啟,而hide可以重新開啟該視窗。

示例二:開啟隱藏後的視窗

Ext.onReady(

function() {

var myWindow  = new Ext.Window({

width:300,

height:300,

title:"window",

closeAction:"hide"

});

myWindow.show();

Ext.get("showWindow").on("click",function() {

myWindow.show();

}

)

}

);

控制視窗的關閉和開啟。

Ext.onReady(

function() {

var myWindow  = new Ext.Window({

width:300,

height:300,

title:"window",

closeAction:"hide"

});

myWindow.show();

var openWin = Ext.get("openWin");

openWin.on("click",function() {

myWindow.show();

}

)

var closeWin = Ext.get("closeWin");

closeWin.on("click",function() {

myWindow.hide();

}

)

}

);

closable屬性用來設定是否顯示關閉按鈕。

例項三:

Ext.onReady(

function() {

var myWindow  = new Ext.Window({

contentEl:hello,

width:300,

height:300,

title:"window",

closable:false

});

myWindow.show();

}

);

constrain屬性如果為true則強制此window控制在viewport,預設為false例項四:控制視窗只能在顯示在頁面顯示區域。

Ext.onReady(

function() {

var myWindow  = new Ext.Window({

contentEl:hello,

width:300,

height:300,

title:"window",

closable:false,

constrain:true

});

myWindow.show();

}

);

plain屬性如果為true則主體背景透明,false則主體有小差別的背景色,預設為false

示例五:設定窗體主體背景透明

Ext.onReady(

function() {

var myWindow  = new Ext.Window({

contentEl:hello,

width:300,

height:300,

title:"window",

closable:false,

constrain:true,

plain:true

});

myWindow.show();

}

);

帶頭部工具欄的視窗

Ext.onReady(

function() {

//初始化提示資訊

Ext.QuickTips.init();

var myWindow  = new Ext.Window({

contentEl:hello,

width:300,

height:300,

title:"window",

closable:false,

//頭部工具欄

tools:[

{id:"save",qtip:"儲存"},

{id:"help",qtip:"幫助"},

{id:"close",qtip:"關閉",handler:function() {

//myWindow.close();

myWindow.hide();

}

}

]

});

myWindow.show();

}

);

自定義工具欄圖片和提示資訊。

Ext.onReady(

function() {

//初始化提示資訊

Ext.QuickTips.init();

var myWindow  = new Ext.Window({

contentEl:hello,

width:300,

height:300,

title:"window",

closable:false,

//工具欄

tbar:new Ext.Toolbar({

height:30

})

});

myWindow.show();

myWindow.getTopToolbar().add(new Ext.Toolbar.Button({icon:"save.jpg",cls:'x-btn-icon',tooltip:"儲存"}))

myWindow.getTopToolbar().add(new Ext.Toolbar.Button({icon:"open.jpg",cls:'x-btn-icon',tooltip:"開啟"}))

}

);

自定義選單欄圖片

Ext.onReady(

function() {

var myWindow  = new Ext.Window({

contentEl:hello,

width:300,

height:300,

title:"window",

closable:false,

//工具欄

tbar:new Ext.Toolbar({

height:30

})

});

myWindow.show();

var mymenu = new Ext.menu.Menu({

items:[

{text:"開啟",icon:"open.jpg"},

{text:"儲存",icon:"save.jpg"}

]

});

myWindow.getTopToolbar().add(new Ext.Toolbar.SplitButton({text:"檔案",menu:mymenu}));

}

);

視窗分組。

視窗是可以分組進行管理的,預設情況下的視窗都在預設的組 Ext.WindowMgr中。視窗分組由類Ext.WindowGroup定義,該類包括bringToFront、getActive、 hideAll、sendToBack等方法用來對分組中的視窗進行操作。

var i = 1;

var mygroup;

function newWindow() {

var myWindow  = new Ext.Window({

width:300,

height:300,

title:"window" + i++,

closable:false,

manager:mygroup

});

myWindow.show();

}

function toBack() {

mygroup.sendToBack(mygroup.getActive());

}

function hideAll() {

mygroup.hideAll();

}

Ext.onReady(

function() {

mygroup=new Ext.WindowGroup();

Ext.get("newWin").on("click",newWindow);

Ext.get("toback").on("click",toBack);

Ext.get("hideAll").on("click",hideAll);

}

);