`
jayyanzhang2010
  • 浏览: 377983 次
  • 性别: 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  
 

相关推荐

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

    本主题将深入探讨如何在MFC应用中实现嵌入式对话框,并将其显示在主对话框的指定位置。这在创建复杂的用户界面时非常有用,因为它允许用户在同一个对话框内进行多个操作,提高用户体验。 首先,理解嵌入式对话框的...

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

    本示例主要关注`Android`中的几种基本对话框类型:普通AlertDialog、列表对话框(ListDialog)、进度对话框(ProgressDialog)以及自定义对话框,通过实例来阐述如何在代码中实现它们。 首先,我们来看`AlertDialog...

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

    在计算机编程领域,尤其是用户界面设计中,对话框是一种常见的交互元素,用于向用户提供特定功能或获取信息。对话框分为两种主要类型:模式对话框(Modal Dialog)和无模式对话框(Modeless Dialog)。理解这两种...

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

    在MFC应用开发中,有时我们需要在一个对话框中弹出另一个对话框,以提供更复杂的用户交互或分步骤的操作流程。本文将详细讲解如何在MFC的对话框中实现这一功能,主要分为两种方法:新建对话框和添加现有的对话框。 ...

    autolisp对话框设计

    对话框在AutoLISP编程中扮演着重要角色,为用户提供友好的交互界面,使用户能够输入参数、选择选项等。本文将详细探讨如何在AutoLISP中设计对话框,并结合实例进行深入讲解。 一、AutoLISP对话框的基本概念 Auto...

    AutoLISP程序对话框设计

    【AutoLISP程序对话框设计】是AutoLISP编程中重要的组成部分,主要涉及人机交互界面的构建。对话框在程序执行过程中起到了收集和展示数据的关键作用,它使用Dialog Control Language(DCL)来编写,生成的`.dcl`文件...

    android 打开文本对话框

    在Android开发中,创建并显示一个文本对话框是常见的任务,尤其在用户需要输入或确认信息时。这个场景中提到的“android 打开文本对话框”是一个Android应用功能,用于展示一个包含文本输入和交互的对话框。下面将...

    易语言通用对话框模块

    易语言的通用对话框模块包含了常见的对话框类型,如打开文件对话框、保存文件对话框、颜色选择对话框、字体选择对话框等。 1. **打开文件对话框**:允许用户从计算机中选择一个或多个文件。开发者可以设置过滤条件...

    qml自定义模态对话框

    在QML(Qt Quick)中,自定义模态对话框是一种常见的需求,它允许开发者创建具有独特设计和功能的交互式界面元素。不同于标准的`Popup`组件,自定义模态对话框通常需要更高的定制性,以满足特定的用户体验或项目需求...

    VC++ 对话框的使用

    【VC++ 对话框的使用】 对话框在Windows编程中扮演着至关重要的角色,它是一种特殊的窗口,常用于与用户交互,收集或提供信息。对话框分为两种类型:模态对话框和非模态对话框。模态对话框强制用户在完成对话框操作...

    关于碎片, 对话框碎片

    在Android应用开发中,"碎片"(Fragment)和"对话框碎片"(DialogFragment)是两个重要的组件,它们主要用于构建动态、可复用且适应不同屏幕尺寸的应用界面。以下是这两个概念的详细说明。 **碎片(Fragment)** ...

    WPF 自定义对话框 超级完美版

    在Windows Presentation Foundation(WPF)中,自定义对话框是一种常见的需求,因为它允许开发者根据应用程序的风格和功能来个性化交互体验。"WPF 自定义对话框 超级完美版"是一个解决方案,提供了预设的对话框样式...

    MFC+对话框嵌套对话框

    在Microsoft Foundation Classes (MFC)库中,对话框(Dialog)是用户界面的重要组成部分,用于显示和收集用户输入。在某些复杂的应用场景中,我们可能需要在一个对话框内部嵌套另一个对话框,以提供更丰富的交互体验...

    java显示消息对话框

    `JOptionPane`提供了几种预定义的对话框类型,包括信息对话框、警告对话框、错误对话框、询问对话框和输入对话框。这些对话框可以通过静态方法创建,例如`showMessageDialog()`、`showConfirmDialog()`和`...

    xsteel属性对话框移动小程序

    《Xsteel属性对话框移动小程序详解》 在三维钢结构建模软件Xsteel(也称 Tekla Structures)中,属性对话框是用户与软件交互的重要工具,用于设置和修改模型对象的各种参数。然而,在复杂的建模过程中,对话框的...

    MFC实现多个对话框

    在Microsoft Foundation Classes (MFC)库中,开发多对话框应用程序是常见的需求,尤其是在创建复杂的用户界面时。MFC提供了一种结构化的方式来管理和显示多个对话框,使得开发者可以更高效地构建这样的应用。本篇将...

    MFC对话框上添加视图

    在MFC(Microsoft Foundation Classes)框架中,对话框(Dialog)和视图(View)是两种重要的组件,它们用于构建Windows应用程序的用户界面。本文将深入探讨如何在MFC对话框上添加视图,这对于理解和开发MFC应用程序...

    C# winform对话框用法大全

    对话框中我们常用了以下几种: 1、文件对话框(FileDialog) 它又常用到两个:  打开文件对话框(OpenFileDialog)  保存文件对话(SaveFileDialog) 2、字体对话框(FontDialog) 3、颜色对话框(ColorDialog) 4、打印预...

    labview 提示对话框自动消失和按照规定的倒计时提示款自动消失

    在LabVIEW编程环境中,创建和使用提示对话框是常见的任务,用于向用户显示信息或确认操作。本篇文章将深入探讨如何实现"提示对话框自动消失"以及"按照规定的倒计时自动消失"的功能。 首先,我们需要理解LabVIEW中的...

    XSTEEL软件对话框移动小程序

    《XSTEEL软件对话框移动小程序深度解析》 在钢结构详图设计领域,XSTEEL软件无疑是一款不可或缺的工具,其高效、精确的特性深受广大工程师喜爱。而在实际操作过程中,对话框的频繁移动和调整位置是提升工作效率的...

Global site tag (gtag.js) - Google Analytics