模态对话框

今日工作心得:模态窗口的问题

廉价感情. 提交于 2020-03-10 07:38:03
今天用到了模态窗口,说实话觉得模态窗口的效果确实不应是首选,使用javascrpit+div模拟才是不错的选择,但是为了赶时间图省事,还是选择了模态窗口。以前对模态窗口了解的并不是很多,今天借这个机会自己给自己总结一下。 1.使用方法: vreturnvalue = window.showmodaldialog(surl [, varguments] [, sfeatures]) vreturnvalue = window.showmodelessdialog(surl [, varguments] [, sfeatures]) 参数说明: surl 必选参数,类型:字符串。用来指定对话框要显示的文档的url。 varguments 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogarguments来取得传递进来的参数。 sfeatures 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。 dialogheight 对话框高度,不小于100px,ie4中dialogheight 和 dialogwidth 默认的单位是em,而ie5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。   dialogwidth: 对话框宽度。   dialogleft:

VC学习笔记:对话框

筅森魡賤 提交于 2020-03-02 05:48:06
VC学习笔记:对话框 SkySeraph NOV.11st 2009 HQU Email-zgzhaobo@gmail.com QQ-452728574 Latest Modified Date:Oct.31th 2010 HQU 重新翻阅整理 //说明:孙鑫视频学习笔记 SkySeraph NOV.11st 2009 HQU /*【对话框专题知识】*/ //知识点:创建对话框;显示对话框; //新建Single Document程序 void CMyBoleView::OnDialog() //对话框的响应函数 { //首先创建一个新的对话框资源,并增加一个相关的类[CTestDlg]用来操作该资源。再增加一个菜单项(view类)用来显示该对话框。【每增加一个新对话框都需增加一个相关类来做相关处理】 //▲注意:要在view类头文件里包含testdlg.h,才能在菜单项的消息响应函数使用该类。 /*■1.<<创建、显示、关闭模态对话框>>*/ CTestDlg dlg; //此处是局部变量,但不要紧,因为程序会暂时停下来等模态对话框关闭后再运行; dlg.DoModal();//创建并显示模态对话框 / *■2.<<创建、显示、销毁非模态对话框>>*/ //>>错误写法:CTestDlg dlg; //▲不能定义成局部变量。局部变量两种处理方法:[1]定义成view类的成员变量;

模式对话框与非模式对话框的区别

喜夏-厌秋 提交于 2020-03-02 05:47:44
模式对话框就是不处理它就没法处理父窗口,而非模式对话框就是不用先处理此对话框也可以处理父窗口.例子:在桌面上右击我的电脑,选择属性,弹出系统属性窗口,点击下面的技术支持,弹出技术支持信息,现在再对系统属性窗口进行操作就操作不了,这种叫做模式对话框;关闭技术支持信息,在系统属性里选择硬件,点击设备管理器,弹出设备管理器窗口,现在再对系统属性窗口进行操作仍然可以操作,这种就叫做非模式对话框。 在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,而非模式对话框的创建则是使用Create。 一、 使用中的区别 模式对话框创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作。而非模式对话框则无需这样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作。 二、 消息响应的区别 在消息响应方面,模式对话框和非模式对话框之间又有着很大的区别。模式对话框工作的时候,它有内部的消息泵机制,控件之间的交互不用我们人为的去控制,系统会帮助我们去处理。非模式对话框则像普通窗口一样,则由WinMain中书写的消息循环驱动。但由于是对话框,它对一些消息有特殊的处理。因此,在消息循环中,需要先对对话框提供截获消息的机会。 While

驼峰命名法和模态对话框

十年热恋 提交于 2020-02-15 23:05:17
  模态对话框   window.showModalDialog("url","向目标对话框传的值","窗口特征参数") 打开模态对话框   模态对话框必须关掉才能对后端操作。 模块对话框和窗口的区别是永远置顶。   特征参数:用分号隔开,像素大小用px。dialogHeight,dialogWidth,center,等   window.showModelessDialog("url","向目标对话框传的值","窗口特征参数")打开非模块对话框,不用关闭可以操作后面。    骆峰式命名法   骆峰式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例)。   骆峰式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时 ,第一个单词以小写字母开始;第二个单 词 的首字母大写或每一个单 词 的   首字母都采用大写字母, 例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。 小驼峰法  变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如   int myStudentCount;   变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。   大驼峰法   相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间

Qt ------ 制作独立弹出框

折月煮酒 提交于 2020-02-13 17:49:53
建好工程后,右键工程,添加新文件,选择Qt设计师界面类,根据需要选择界面模板,比如Dialog without Buttons 定义一个指针 执行以下程序即可弹出窗口 模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在。又有叫法是称为模式对话框,无模式对话框等。所谓模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。对于非模态对话框,当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。 来源: https://www.cnblogs.com/god-of-death/p/12304043.html

Qt Gui 第三章~第四章

别说谁变了你拦得住时间么 提交于 2020-02-09 17:12:19
一、图片资源的调用      如上图是我图片存放的位置跟qrc的命名;   如下则是qrc对应的编写格式;   <RCC> <qresource> <file>images/icon.png</file> . . . <file>images/gotocell.png</file> </qresource> </RCC>   当qrc放置好之后,则需要在pro文件中添加对应的文件配置: RESOURCES = spreadsheet1.qrc   当完成这些操作之后则可以自由地调用images中存在,并且qrc中已经描述的文件;   比如: QIcon(":/images/gotocell.png")    二、QAction的使用   任何QT窗口部件都可以有一个与之相关联的QActions列表。当需要统一操作,而各个控件不一样的时候,可以通过QAction来预操作;具体可以看帮助文档;   比如可以读取存储在action里面的data; QAction* action = qobject_cast<QAction*>(sender()); if (action) loadFile(action->data().toString());   这里通过sender()可以获取触发槽对应的信号的对象;比如: /*--> */ /*--> */ connect(aboutAction,

模态对话框实现

寵の児 提交于 2020-02-06 22:05:17
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title>模态对话框</title> <meat charset="UTF-8"></meat> <style> #div1{ left:0; top:0; height: 2000px; background-color: greenyellow; position: fixed; width: 100%;/*必须加宽度,因为fixed脱离文档流*/ z-index: 1000;/*在最下层*/ } #div2{ background-color: red; opacity:0.4; position: fixed; width: 100%;/*必须加宽度,因为fixed脱离文档流*/ z-index: 1001;/*在中层*/ top:0; left:0; right:0; bottom: 0; } #div3{ height: 200px; width: 200px; background-color: #2eb1fc; position: absolute; top:50%; left:50%; z-index: 1002;/*在最上层*/

模态对话框

耗尽温柔 提交于 2020-01-26 13:27:16
< ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < title > Title < / title > < style > * { margin : 0 ; } #div1 { position : fixed ; z - index : 1000 ; width : 100 % ; background - color : #efeef0 ; height : 800 px ; } #div2 { background - color : #b7e692 ; opacity : 0.2 ; /* 设置透明度 */ position : fixed ; /* 定位 */ z - index : 1001 ; /* 定位以后用它来控制层级*/ top : 0 ; left : 0 ; right : 0 ; bottom : 0 ; /* 目的是让透明层 布满整个屏幕 */ width : 100 % ; } #div3 { height : 200 px ; width : 400 px ; background - color : #f0687f ; position : absolute ; /* 坐标定位*/ z - index : 1002 ; top : 50 % ;

模态对话框与非模态对话框的区别

感情迁移 提交于 2019-12-10 16:03:33
1. 模态对话框和非模态对话框的区别 Windows 中对话框分为模态对话框和非模态对话框。 模态对话框是指当该对话框显示后,会屏蔽其父窗口的操作,只允许操作当前对话框。 如:文本文档中的 [ 打开 ] 对话框 非模态对话框是指当该对话框显示后,还可以在其父窗口中进行其他操作。 如:文本文档中的 [ 查找 ] 对话框 2. 模态对话框和非模态对话框创建实例 2.1 新建 MFC 工程,创建一个“基于对话框”的程序,对话框上会自动生成 [ 确定 ] 和 [ 取消 ] 按钮。 2.2 在该工程中,打开“资源视图”,在“ Dialog ”节点中插入一个对话框,将其 ID 设为: IDD_DIALOG 。 2.3 双击 [ 确定 ] 按钮,在其回调函数中添加相应程序。 创建模态对话框 void CMfcDialogDlg::OnBnClickedOk() { ModalDialog *myModalDialog=new ModalDialog; myModalDialog->DoModal(); } 创建非模态对话框 void CMfcDialogDlg::OnBnClickedOk() { CDialog *dlg=new CDialog; dlg->Create(IDD_DIALOG); dlg->ShowWindow(SW_SHOW); } 另: ”令其父窗口无效,直到对话框结束“-

swing中模态对话框(setModal(true))和显示对话框(setVisible(true))的编写顺序

那年仲夏 提交于 2019-12-10 05:04:38
今天给大家分享一个鄙人在编程中总结出的一个易错点和最容易让人感到困惑的一个知识点: 当你要从一个窗体跳转到另一个窗体,你把跳转目标的窗体设成模态对话框,设计成模态对话框就是禁止父窗体与子窗体之间操作,简单说就是当调用子窗体的时候,父窗体不能使用,必须等子窗体销毁才能使用,但是在这里会有个容易出错的地方就是子窗体不能正常现实出来,而是显示一个圆点,也就是下图这种格式 为什么会出现这种情况呢?刚开始我也有些疑惑,后来灵机一动,把setModal(true)放在setVisible(true)的后面,竟然发现解决了这个问题。 还有就是 javasetModal(true) 要在dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);的后面,否则将无法关闭子对话框 正确写法 public class EmployeeRegisterFrame extends JDialog { private JTextField accountField ; private JTextField phoneField ; private JPasswordField passwordField ; public EmployeeRegisterFrame ( ) { try { setDefaultCloseOperation (