第五章、窗口及对话框

5 .1  、窗口基本应用

ExtJS 中窗口是由 Ext.Window 类定义,该类继承自 Panel ,因此窗口其实是一种特殊 的
面板 Panel 。窗口包含了浮动、可拖动、可关闭、最大化、最小化等特性。看下面的代码:

var i=0;
function newWin()
{
var win=new Ext.Window({title:" 窗口 "+i++,
width:400,
height:300,
maximizable:true});
win.show();
}
Ext.onReady(function(){
Ext.get("btn").on("click",newWin);
});

页面中的 html 内容:

<input id="btn" type="button" name="add" value=" 新窗口 " />

执行上面的代码,当点击按钮 “ 新窗口 ” 的时候,会在页面中显示一个窗口,窗口标题 为
“ 窗口 x ” ,窗口可以关闭,可以最大化,点击最大化按钮会最大化窗口,最大化的窗口可 以
还原,如图 xxx 所示。

5.2、窗口分组

窗 口是分组进行管理的,可以对一组窗口进行操作,默认情况下的窗口都在默认的组
Ext.WindowMgr 中。窗口分组由类 Ext.WindowGroup 定义,该类包括 bringToFront 、 getAct ive 、
hideAll 、 sendToBack 等方法用来对分组中的窗口进行操作。

看下面的代码:
var i=0,mygroup;
function newWin()
{
var win=new Ext.Window({title:" 窗口 "+i++,
width:400,
height:300,
maximizable:true,
manager:mygroup});
win.show();
}
function toBack()
{
mygroup.sendToBack(mygroup.getActive());
}
function hideAll()
{
mygroup.hideAll();
}
Ext.oReay(function(){
mygroup=new Ext.WindowGroup();
Ext.get("btn").on("click",newWin);
Ext.get("btnToBack").on("click",toBack);
Ext.get("btnHide").on("click",hideAll);
});

页面中的 html 代码
<input id="btn" type="button" name="add" value=" 新窗口 " />
<input id="btnToBack" type="button" name="add" value=" 放到后台 " />
<input id="btnHide" type="button" name="add" value=" 隐藏所有 " />

执行上面的代码,先点击几次 “ 新窗口 ” 按钮,可以在页面中显示几个容器,然后拖动 这
些窗口,让他们在屏幕中不同的位置。然后点 “ 放到后台 ” 按钮,可以实现把最前面的窗口 移
动该组窗口的最后面去,点击 “ 隐藏所有 ” 按钮,可以隐藏当前打开的所有窗口。如下图所 示 :

5.3  、对话框

由于传 统使用 alert 、 confirm 等方法产生的对话框非常古板,不好看。因此, ExtJS 提 供
了一套非常漂亮的对话框,可以使用这些对话框代替传统的 alert 、 confirm 等,实现华丽的
应用程序界面。
Ext 的对话框都封装在 Ext.MessageBox 类,该类还有一个简写形式即 Ext.Msg ,可以 直
接通过 Ext.MessageBox 或 Ext.Msg 来直接调用相应的对话框方法来显示 Ext 对话框。看下
面的代码:
Ext.onReady(function(){
Ext.get("btnAlert").on("click",function(){
Ext.MessageBox.alert(" 请注意 "," 这是 ExtJS 的提示框 ");
});
});

Html 页面中的内容:
<input id="btnAlert" type="button" value="alert 框 " />

执行程序,点击上面的 “ alert 框 ” 按钮,将会在页面上显示如下图所示的对话框。

除了 alert 以外, Ext 还包含 confirm 、 prompt 、 progress 、 wait 等对话框,另外我们可 以
根据需要显示自下定义的对 话框。普通对话框一般包括四个参数,比如 confirm 的方法签
名为 confirm ( String title, String msg, [Function fn], [Object scope] ) ,参数 title 表示对话框 的
标题,参数 msg 表示对话框中的提示信息,这两个参数是必须的;可选的参数 fn 表示当关
闭对话框后执行的回调函数,参数 scope 表示回调函数的执行作用 域。回调函数可以包含 两
个参数,即 button 与 text,button 表示点击的按钮, text 表示对话框中有活动输 入选项时输
入的文本内容。我们可以在回调函数中通过 button 参数来判断用户作了什么什么选择,可
以通过 text 来读取在对话框中输入的内容。看下面的 例子: ]
Ext.onReady(function(){
Ext.get("btn").on("click",function(){
Ext.MessageBox.confirm(" 请确认 "," 是否真的要删除指定的内容 ",function(button,text){
alert(button);
alert(text);
});
});
});

Html 内容:
<input id=" 对话框 " type="button" value="btn" />

点击对话框按钮将会出现下面的对话框,然后选择 yes 或 no 则会用传统的提示框输出
回调函数中 button 及 text 参数的内容。

因此,在实际的应用中,上面的代码可以改成如下的内容:
Ext.onReady(function(){
Ext.get("btnAlert").on("click",function(){
Ext.MessageBox.confirm(" 请确认 "," 是否真的要删除指定的内容 ",function(button,text){
if(button=="yes"){
// 执行删除操作
alert(" 成功删除 ");
}
});
});
});

这样当用户点击对话框中的 yes 按钮时,就会执行相应的操作,而选择 no 则忽略操作 。
下面再看看 prompt 框,我们看下面的代码:
Ext.onReady(function(){

Ext.get("btn").on("click",function(){
Ext.MessageBox.prompt(" 输入提示框 "," 请输入你的新年愿望 :",function(button,text){
if(button=="ok"){
alert(" 你的新年愿望是 :"+text);
}
else alert(" 你放弃了录入 !");
});
});
});

Html 页面:
<input id="btn" type="button" value=" 对话框 " />

点击上面的 “ 对话框 ” 按钮可以显示如下图所示的内容,如果点击 OK 按钮则会输入你 输
入的文本内容,选择 cancel 按钮则会提示放弃了录入,如下图所示:

在实际应用中,可以直接使用 MessageBox 的 show 方法来显示自定义的对话框,如下
面的代码:
function save(button)
{
if(button=="yes")
{
// 执行数据保存操作
}
else if(button=="no")
{
// 不保存数据
}
else
{
// 取消当前操作
}
}
Ext.onReady(function(){
Ext.get("btn").on("click",function(){
Ext.Msg.show({
title:' 保存数据 ',
msg: ' 你已经作了一些数据操作,是否要保存当前内容的修改? ',
buttons: Ext.Msg.YESNOCANCEL,
fn: save,
icon: Ext.MessageBox.QUESTION});
});
});

点击 “ 对话框 ” 按钮可显示一个自定义的保存数据对话框,对话框中包含 yes 、 no 、 canc el
三个按钮,可以在回调函数 save 中根据点击的按钮执行相应的操作,如图 xx 所示。

转载于:https://www.cnblogs.com/liu2008hz/archive/2010/10/27/1862665.html

第五章、窗口及对话框相关推荐

  1. 【正点原子MP157连载】第十五章 窗口门狗(WWDG)实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  2. Visual C++ 2008入门经典 第十五章 在窗口中绘图

    /*第十五章 在窗口中绘图 主要内容: 1 Windows为窗口绘图提供的坐标系统 2 设置环境及其必要性 3 程序如何以及在窗口中绘图 4 如何定义鼠标消息的处理程序 5 如何定义自己的形状类 6 ...

  3. 第3章[3.6] 说透Ext JS的窗口及对话框用法

    关于浏览器的窗口和对话框的基本介绍可以参考: HTML窗口与对话框 窗口类 Ext.window.Window Ext JS的窗口更类似于HTML的对话框, 但是Ext JS的窗口可以像一般的视图一样 ...

  4. 32 串口波特率_「正点原子FPGA连载」第五章串口中断实验

    1)实验平台:正点原子达芬奇FPGA开发板 2) 摘自[正点原子]达芬奇之Microblaze 开发指南 3)购买链接:https://detail.tmall.com/item.htm?id=624 ...

  5. [转]Windows Shell编程 第十五章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988016】...

    第十五章 SHELL扩展 谈到Windows Shell编程,Shell扩展是最重要的科目之一,绝大多数商业应用的最酷特征的都是通过Shell扩展实现的,而且有许多显著的系统特征实际都是插入了扩展代码 ...

  6. photoshop第十五章:制作商业卡片场景效果

    第十五章:制作商业卡片场景效果 1.制作证件寸照效果 素材: 效果: (1)Ctrl+N新建文件->名称:证件寸照->宽度:14厘米->高度:14厘米->分辨率:300像素/英 ...

  7. 计算机基础--作业5,计算机基础第5次作业-第五章-Powerpoint知识题 (精选可编辑)...

    <计算机基础第5次作业-第五章-Powerpoint知识题 (精选可编辑)>由会员分享,可在线阅读,更多相关<计算机基础第5次作业-第五章-Powerpoint知识题 (精选可编辑) ...

  8. 《Windows核心编程》读书笔记二十五章 未处理异常,向量化异常处理与C++异常

    第二十五章  未处理异常,向量化异常处理与C++异常 本章内容 25.1 UnhandledExceptionFilter函数详解 25.2 即时调试 25.3 电子表格示例程序 25.4 向量化异常 ...

  9. 《SVN宇宙版教程》:第五章 TortoiseSVN中Repo-browser介绍

    第五章 TortoiseSVN中Repo-browser介绍 导言: 窗口Repo-browser是TortoiseSVN提供的一个管理工作副本或仓库文件的工具,此窗口在使用TortoiseSVN工具 ...

最新文章

  1. 逆天神经网络绘制神器!还有暗黑模式
  2. C语言 编写程序:请将Fibonacci数列前30项中的偶数值找出来,存储到一维数组中。其中,Fibonacci数列如下:1,1,2,3,5,8,13,21,34...该数列除前两项之外,其他任意
  3. python处理行情数据_请教 Python 如何解析 DBF 文件, SJSHQ.dbf 上交所行情文件,数据来源于巨灵数据。...
  4. android手机卫士、3D指南针、动画精选、仿bilibli客户端、身份证银行卡识别等源码...
  5. 文本处理三剑客,正则表达式等
  6. DoIP诊断技术一点通
  7. (QT学习笔记):QListWidget、QTreeWidget、 QTableWidget的基本使用
  8. javaweb框架学习开端
  9. 荣耀 android 11 rom,华为荣耀10官方固件rom刷机包_华为荣耀10完整版系统升级包
  10. android基于xposed框架,基于Xposed框架的模块:Android EagleEye
  11. Moto me525+ 刷机
  12. java课程设计源码(游戏:急速生存)
  13. 工程项目管理思维导图模板
  14. 【EasyUI篇】TreeGrid树表格组件
  15. 浅谈ACX带通滤波器应用
  16. FPGA 20个例程篇:9.DDR3内存颗粒初始化写入并通过RS232读取(下)
  17. 虚拟内存与虚拟存储器的区别
  18. 对前端的一些粗浅的认识
  19. 组长偷偷通知裁员名单有我,但HR却迟迟不找,现在没人布置工作,天天闲着好尴尬!...
  20. Java利用qq邮箱发送邮件

热门文章

  1. linux 下DHCP的安装
  2. shape file与coverage叠加的问题
  3. UVA-10714 Ants---蚂蚁模拟
  4. 台积电新工艺路线图披露:7nm最快明年4月试产
  5. IEEE Spectrum 2014 年度编程语言排名
  6. 2016中国知识管理发展的7个趋势
  7. 在c#中实现类似C语言中的memset功能
  8. legend3---3、lavarel页面post请求错误之后跳转
  9. Unity3D研究院之Editor下监听Transform变化
  10. Extjs4.0 开发笔记-desktop开始菜单动态生成方法