`
jayyanzhang2010
  • 浏览: 372554 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
1、传统对话框
  所谓对话框,就是在程序执行的过程,出现在用户界面中的一个需要用户进行确认、选择或录入相关信息的微型窗口。
  在传统的html页面中,浏览器提供了三种默认的对话框函数。也就是alert、confirm及prompt等。其中alert用来弹出一个提示信息,并让用户确认,而confirm是让用户进行某一种操作的选择,prompt则是用来弹出一个信息录入对话框。下面是浏览器对话框的使用示例:
<script>
function alertDialog(){
alert("这是浏览器定义的信息提示框");
}
function confirmDialog(){
var ret=confirm("是否要删除该记录?");
alert("选择结果:"+(ret?"是":"否"));
}
function inputDialog(){
var ret=prompt("请输入你的姓名:","");
alert("你输入的是:"+ret);
}
</script>
</head>
<body>

<input type="button"  onClick="alertDialog();" value="信息提示框" />
<input type="button"  onClick="confirmDialog();" value="选择对话框"/>
<input type="button"  onClick="inputDialog();" value="录入对话框"/>
</body>
由于传统使用alert、confirm等方法产生的对话框非常古板,对话框的很多部份内容都已经固定,很难增加自定义的内容,并且UI很不好看。因此,ExtJS提供了一套非常漂亮的对话框,可以使用这些对话框代替传统的alert、confirm等,实现华丽的应用程序界面。

2、Ext中提供的对话框Ext.MessageBox及Ext.Msg
  Ext的对话框都封装在Ext.MessageBox类,该类还有一个简写形式即Ext.Msg,可以直接通过Ext.MessageBox或Ext.Msg类直接调用相应的对话框方法来显示漂亮的Ext对话框。使用Ext的对话框功能,上面例子中的三个方法可以改写成如何的形式:
  function alertDialog(){
Ext.MessageBox.alert("友情提示","这是浏览器定义的信息提示框");
  }
  function confirmDialog(){
      var ret=Ext.Msg.confirm("删除确认","是否真的要删除该记录?",function(btuuon){
alert("选择结果:"+(btuuon=="yes"?"是":"否"));
});
  }
  function inputDialog(){
Ext.MessageBox.prompt("姓名输入","请输入你的姓名:",function(button,text){
if(button=="ok"){
alert("你输入的是:"+text);
}
else alert("你放弃了录入!");
});
}
Ext提供的这些显示普通对话框的方法一般包括四个参数,比如confirm的方法签名为confirm ( String title, String msg, [Function fn], [Object scope] ) ,参数title表示对话框的标题,参数msg表示对话框中的提示信息,这两个参数是必须的;可选的参数fn表示当关闭对话框后执行的回调函数,参数scope表示回调函数执行的作用域。回调函数可以包含两个参数,即button与text,button表示被点击的按钮,text表示对话框中(比如prompt)有输入选项时用户输入的内容。我们可以在回调函数中通过button参数来判断用户作了什么选择,可以通过text来读取在对话框中输入的内容。

3、Ext对话框的特性及回调函数callback
  Ext的对话框是包含特定内容的Ext窗口控件,由于Ext的窗口本质上是页面中的DIV标签,因此,Ext对话框中的内容支持各种HTML元素;其次,与浏览对话框可以直接使用赋值语句得到对话框的用户选项及输入内容不同,Ext对话框只能通过回调函数来处理用户的选项及输入的内容。回调函数中对话框显示的时候作为参数传递给相应的对话框显示方法;要注意的一点是,浏览器对话框只有在对话框关闭后才会执行后面的javascript语句,而Ext对话框在显示后会立即执行其后面的语句,而不管对话框是否关闭。
  下面使用Ext对话框的方式是不对的:
  function inputDialog(){
var ret=Ext.MessageBox.prompt("姓名输入","请输入你的姓名:");
alert("你输入的内容是:"+ret);
  }

4、wait及progress对话框
  MessageBox对象的wait方法用来在页面中显示一个信息等待框,当一个wait信息框显示以后,在应用程序执行了一系列处理操作完成后需要,需要通过调用MessageBox对象的hide()方法来隐藏当前对话框。下面是显示wait对话框的示例代码:
  function wait(){
var msgbox=Ext.Msg.wait("请稍候","正在保存数据,请稍候。。。。。。");//显示等待对话框
//执行大数据的处理或网络请求等操作
msgbox.hide.defer(5000,msgbox);//隐藏对话框
}
  <input type="button"  onClick="wait();" value="等待对话框"/>
  下面再来看看带有滚动条的对话框使用,示例代码如下:
  var t=0;
  function progress(){
t=0;
var msgbox=Ext.Msg.progress("请稍候","保存数据","正在保存数据,请稍候。。。。。。");//显示等待对话框
//执行大数据的处理或网络请求等操作
updateProgress();
}
  function updateProgress(){
t+=0.1;
Ext.Msg.updateProgress(t);
if(t>1)Ext.Msg.hide();
else updateProgress.defer(1000);
}
<input type="button"  onClick="progress();" value="滚动条对话框"/>

5、使用show方法显示对话框
function doSave(button,text){
if(button=="yes")
{
//执行数据保存操作
}
else if(button=="no")
{
//不保存数据
}
else
{
//取消当前操作
}
}
function save(){
Ext.Msg.show({
   title:'保存数据',
   msg: '你已经作了一些数据操作,是否要保存当前内容的修改?',
   buttons: Ext.Msg.YESNOCANCEL,
   fn: doSave,
   icon: Ext.MessageBox.QUESTION
   });
}

<input type="button"  onClick="save();" value="保存"/>

分享到:
评论
1 楼 hnuxbl 2011-11-19  
 

相关推荐

    VB 多种使用通用对话框的方法演示.rar

    VB6.0 多种使用通用对话框的方法演示含源代码,为对话框增加常见的“打开”、“另存为”、“字体”、“打颖、“帮助”。演示了当“颜色”、“字体”等对话框按钮被按下时,程序如何执行,将TextBox的字体属性根据...

    Android 简单对话框,列表对话框示例

    这个示例演示对话框的用法,包括普通的AlertDialog,列表对话框,进度对话框,自定义对话框 这里实现一个在3秒后自动关闭对话框的功能,通过一个定时器来完成

    MFC实现嵌入式对话框,显示子对话框到主对话框中的对应位置

    MFC实现嵌入式对话框,显示子对话框到主对话框中的对应位置

    vc视图类中动态加载DLL里面的的对话框

    前阵子因为做了一个项目,由于需读取XML文件动态创建菜单,根据菜单功能动态加载不同的对话框,所以用到了动态链接库,当时自己又没做过,在网上找了很多例子,但都是用dlg.DoModal();显示对话框的,本来我的MSDN号...

    VC++ 对话框的使用

    基础入门,据最简单例子,讲解对话框 3.1对话框的使用  对话框是一种弹出式的特殊窗口,几乎所有的Windows应用程序都要借助于对话框来和用户打交道;它主要用来实现应用程序和用户之间的信息交互。对话框上必须有...

    对话框快捷键 对话框快捷键 对话框快捷键 对话框快捷键

    对话框快捷键 对话框快捷键 对话框快捷键 对话框快捷键

    模式对话框与无模式对话框的不同

    模式对话框与无模式对话框的不同 模式对话框与无模式对话框的不同

    delphi 实现延时自动关闭对话框 20200407.Demo_DlgAutoClose.zip

    使用方法:打开对话框前调用 SetDlgAutoClose { 参数1: 设定多长时间后关闭 } { 参数2: 是否在对话框标题栏进行倒计时提示 } 代码包括了一个功能类,也就是unt_TimerDlg单元,主程序可以调用两种方法,实现...

    VC Office2007界面对话框

    在之前一篇《VC Office2007界面对话框实现》,写道可以用单文档来模拟对话框,来实现Office2007风格的对话框,这一次用不同的方法来实现,MFC的Ribbon功能包只对单文档/多文档有效,即框架类,我们只需用框架类来...

    MFC中在一个对话框中弹出另一个对话框.pdf

    MFC中在一个对话框中弹出另一个对话框.pdfMFC中在一个对话框中弹出另一个对话框.pdfMFC中在一个对话框中弹出另一个对话框.pdfMFC中在一个对话框中弹出另一个对话框.pdfMFC中在一个对话框中弹出另一个对话框.pdfMFC中...

    vc非模态对话框例子

    非模态对话框与模态对话框不同,在非模态对话框活动的同时,用户还可以在应用程序的其他地方工作,而模态对话框在其关闭之前,用户不能在同一个应用程序的其他地方工作。本例将从主框架窗口创建一个简单的非模态...

    vc2012中文版创建win32基于对话框应用程序向导

    根据http://www.cnblogs.com/hwangbae/archive/2012/07/26/2610469.html《自己动手让Visual Studio的Win32向导支持生成对话框程序》制作的vs2012中文版创建win32基于对话框的应用程序向导(上述该文章提供的是英文版...

    vc的模态对话框和非模态对话框

    非模态的对话框是独立的,就是说和主程序可以同时交换数据,而模态的对话框则只能和自己交换。换句话说,模态对话框很霸道,你开了它就无法在同一个应用程序中的其他地方干活了,比如那个经常用的openfile dialog。...

    网页上最酷的弹出窗口(对话框)脚本源代码及示例

    这是我所见过的最好看的网页窗口/对话框程序,它实现于标准的HTML页面,实现语言是...现有的实例包括:模仿MAC OS的对话框,在对话框中打开一个网页,警告框,确认对话框,信息对话框,登录对话框,AJAX对话框等等

    倒计时1分钟对话框自动关闭

    自己编写的定时器小程序,执行后出现对话框,显示文字“1分钟倒计时后,你的电脑将自动删除硬盘上的一切资料,然后关机!\n现在开始倒计时:还有%d秒……”,文字可以自己修改,实际并未加入恶意程序,搞怪的。倒计时...

    Q760642.zip windows程序设计 编写Windows窗口应用程序实现对话框与菜单的应用

    1)编程实现如下应用程序,含有菜单,单击“新建”时弹出新建对话框(非模态对话框),单击对话框颜色按钮后应用程序窗口字体和背景色发生相应的变化。单击“关于”菜单项时弹出关于对话框(模态对话框)。 (Winodws...

    MFC+对话框嵌套对话框

    MFC+对话框里嵌套对话框 MFC+对话框里嵌套对话框

    Android编程实现在自定义对话框中获取EditText中数据的方法

    本文实例讲述了Android编程实现在自定义对话框中获取EditText中数据的方法。分享给大家供大家参考,具体如下: 在项目中忽然遇到这样的问题,需要自定义对话框,对话框需要有一个输入框,以便修改所选中的价格,然后...

    1.对话框程序标题栏设置(Visual C++编程 源代码)

    1.对话框程序标题栏设置(Visual C++编程 源代码)1.对话框程序标题栏设置(Visual C++编程 源代码)1.对话框程序标题栏设置(Visual C++编程 源代码)1.对话框程序标题栏设置(Visual C++编程 源代码)1.对话框程序...

    2.如何使用颜色对话框?(Visual C++编程 源代码)

    2.如何使用颜色对话框?(Visual C++编程 源代码)2.如何使用颜色对话框?(Visual C++编程 源代码)2.如何使用颜色对话框?(Visual C++编程 源代码)2.如何使用颜色对话框?(Visual C++编程 源代码)2.如何使用...

Global site tag (gtag.js) - Google Analytics