word选项对话框在哪里里什么意思?

模态对话框(modal dialogue box)中模态一词的意思是什么? - 知乎5被浏览734分享邀请回答3添加评论分享收藏感谢收起模式对话框_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
模式对话框
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
模式(modal)对话框,即,是指用户在Windows应用程序的对话框中,想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。相对应的另一个对话框是。
模式对话框简介
对话框可以分为模式对话框和非模式对话框两种。模式对话框是指用户只能在当前的中进行操作,在该窗体没有关闭之前不能切换到其他的窗体。非模式对话框是指当前的所操作的窗体可以切换。
一般情况下,用于确认信息的操作和一般的操作的对话框属于模式对话框。如打开文件对话框就是典型的模式对话框,而常见的查找和替换便是非模式对话框。
模式对话框相关区别
模式与非模式对话框的区别
在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,而非模式对话框的创建则是使用Create。
一、使用中的区别
模式对话框创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作。而非模式对话框则无需这样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作。
二、消息响应的区别
在消息响应方面,模式对话框和非模式对话框之间又有着很大的区别。模式对话框工作的时候,它有内部的消息泵机制,控件之间的交互不用我们人为的去控制,系统会帮助我们去处理。非模式对话框则像普通窗口一样,则由WinMain中书写的消息循环驱动。但由于是对话框,它对一些消息有特殊的处理。因此,在消息循环中,需要先对对话框提供截获消息的机会。
While (GetMessage(&msg, NULL, 0, 0))
if (hDlgModeless == 0 || !IsDialogMessage(hDlgModeless, &msg))
TranslateMessage(&msg);
DispatchMessage( &msg);
如果当前取得的消息是对话框的消息,IsDialogMessage 将它交由对话消息处理函数处理,并返回TRUE。不需要再派发了。
注意:这个方法并不是很好用,因为当对话框过多的时候,处理起来就比较麻烦了。另一种处理的方法是利用子类化控件的方法,来处理控件间的交互。
三、销毁的区别
模式对话框的销毁是使用EndDialog,而非模式对话框的销毁是使用DestroyWindow.。所以我们在销毁对话框的时候,也要对其进行区别。
非模式对话框,用户关闭对话框时,对话框消息处理函数将收到WM_CLOSE消息,接到后调用DestroyWindow以销毁非模式对话框。
模式对话框,则一般响应IDOK和IDCANCEL。在PPC上,我们对于OK键和X键的处理要注意这点。
非模态对话框的模板必须具有Visible风格,否则对话框将不可见,而模态对话框则无需设置该项风格。更保险的办法是调用ShowWindow(hDialog, SW_SHOW)来显示对话框,而不管对话框是否具有Visible风格。
非模态对话框对象是用new操作符在堆中动态创建的,而不是以成员变量的形式嵌入到别的对象中或以局部变量的形式构建在堆栈上。通常应在对话框的拥有者窗口类内声明一个指向对话框类的指针成员变量,通过该指针可访问对话框对象。
通过调用Create函数来启动对话框,而不是DoModal,这是模态对话框的关键所在。由于Create函数不会启动新的消息循环,对话框与应用程序共用同一个消息循环,这样对话框就不会垄断用户的输入。Create在显示了对话框后就立即返回,而DoModal是在对话框被关闭后才返回的。众所周知,在MFC程序中,窗口对象的生存期应长于对应的窗口,也就是说,不能在未关闭屏幕上窗口的情况下先把对应的窗口对象删除掉。由于在Create返回后,不能确定对话框是否已关闭,这样也就无法确定对话框对象的生存期,因此只好在堆中构建对话框对象,而不能以局部变量的形式来构建之。
因为是用new操作符构建非模态对话框对象,因此必须在对话框关闭后,用delete操作符删除对话框对象。
必须有一个标志表明非模态对话框是否是打开的。这样做的原因是用户有可能在打开一个模态对话框的情况下,又一次选择打开命令。程序根据 标志来决定是打开一个新的对话框,还是仅仅把原来打开的对话框激活。通常可以用拥有者窗口中的指向对话框对象的指针作为这种标志,当对话框关闭时,给该指 针赋NULL值,以表明对话框对象已不存在了。
注意:在C++编程中,判断一个位于堆中的对象是否存在的常用方法是判断指向该对象的指针是否为空。这种机制要求程序员将指向该对象的指针初始化为NULL值,在创建对象时将返回的地址赋给该指针,而在删除对象时将该指针置成NULL值。
清除历史记录关闭对话框_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
在中,对话框(又称对话方块[1])是一种特殊的, 用来在用户界面中向用户显示,或者在需要的时候获得用户的输入响应。之所以称之为“对话框”是因为它们使计算机和用户之间构成了一个对话——或者是通知用户一些信息,或者是请求用户的输入,或者两者皆有。不同的用户交互使用不同的对话框。最简单的对话框是,它显示一个信息并且仅仅需要一个信息已读的响应(通常是单击'确定'按钮或“关闭”命令的对话框)。用来为一个操作提供警告和简单的确认,也可能包括程序终止或崩溃的提示,以及用户有意或无意的关闭动作。虽然对于有模式对话框来说,这是个经常性的交互模式,但是由于它被认为在防止非预期的破坏性操作上不够有效以及存在更好的替换方案[2]而遭到可用性专家的批评。显示一般提示信息的对话框,可以设计为提示气泡等形式来避免打断用户操作。
对话框无模式对话框
这是一种非强制回应的对话框,用于向用户请求非必须资料。即可以不理会这种对话框或不向其提供任何信息而继续进行当前工作,所以窗口均可打开并处于活动状态或是获得(人机交互热点)。一类无模式对话框表现为工具栏,比如设置用于文字颜色的设置。查找/替换对话框可算是无模式对话框,也可以设计为工具栏。
对话框有模式对话框
这种对话框强制要求用户回应,否则用户不能再继续进行操作,直到与该对话框完成交互。这种对话框设计用于程序运行必须停下来,直到从用户获得一些额外的信息,然后才可以继续进行的操作,或可能只想确认使用者想要进行一项具有潜在危险性的操作。有模式对话框一般被视为坏的设计方案,因为以一种用户不喜欢看到方式出现,或是被习惯不去注意对话框提示的用户忽略,导致无法避免危险操作。
有模式对话框一般分为系统级和应用程序级。系统级对话框出现时,用户在完成与这个对话框交互之前不能进行其它操作,比如关机对话框、中的。应用程序级的则只对它的母程序有所限制,但可能在允许运行多个实际的不同软件中有不同的表现:只限定其中的一个程序窗口使之无法操作或全部限定。
对话框模式的定义
模式(计算机科学)根据在《Humane Interface》 (Page 42)中的定义:
人机界面对于跟定的动作(gesture)是模态的(modal) ,如果 (1)界面的当前状态不在 用户的注意之处;(2)依赖于系统的状态,界面对动作会从几种不同的响应执行中选择一种执行。
照此定义,界面是无模态的仅当用户完全感知当前状态。例如,状态的改变是用户故意造成的。 常见的模态的例子:
键盘的大写锁(Caps Lock)、数字键盘锁(Num Lock)、滚动锁(Scroll Lock)。
编辑器的输入模式与用户模式
对话框对话框与一般窗口的区别
从操作系统实现角度,对话框是特殊的窗口(window)。特殊之处不在于对话框会包含一些控件(如按钮、编辑框、下拉列表框等)。因为一般的窗口也可以包含这些控件。特殊性在于,对话框的这些控件是用来与用户交互的,所以有一些约定的使用规则:
Tab Order:按下Tab键或上、下、左、右方向键,各个控件依次获得输入焦点
如果一个按钮获得输入焦点,这时按下空格键或者回车键,相当于鼠标左键点击了该按钮
对话框的默认窗口过程在处理有关的按键消息时,会自动解析处理上述使用规则。而一般窗口的窗口过程,显然没有这些缺省的案件消息处理。Windows操作系统提供了一个API函数IsDialogMessage,以支持对话框上述使用规则的自动实现。
Jump up ^ Raskin, Jef (2000). The Humane Interface. Addison Wesley. ISBN 0-201-37937-6.
Cooper, Alan (March 17, 2003). About Face 2.0: The Essentials of Interaction Design. Wiley. ISBN 0-.
本词条认证专家为
副教授审核
西北工业大学
清除历史记录关闭

我要回帖

更多关于 漫画里的对话框 的文章

 

随机推荐