首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VS2010MFC编程(对话框模态对话框及其弹出过程)

讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出。    一.模态对话框和非模态对话框        Windows对话框分为两类:模态对话框和非模态对话框。        ...模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。        ...非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。        大家对Windows系统很了解,相信这两种对话框应该都遇到过。...之前的加法计算器对话框其实就是模态对话框。 二.模态对话框是怎样弹出的        毕竟加法计算器程序大部分都是MFC自动生成的,对话框怎么弹出来的大家可能还不是很清楚。...鸡啄米下面简单说说它是在哪里弹出来的,再重新建一个新的对话框弹出它,这样大家实践以后就能更灵活的使用模态对话框了。

2.9K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mfc 创建模态对话框与非模态对话框

    所谓模态对话框就是该对话框被创建后,其父窗口不能响应任何消息,无法操作,只有在关闭了新创建出来的窗口后才能继续操作其后面的父窗口。...而非模态对话框则不会有这种情况,非模态对话框创建完成后不影响父窗口的操作,两个窗口可以同时响应消息。 ---- 创建模态对话框 想创建一个模态对话框一共分三步。...1、在资源视图中创建一个对话框资源 2、给该对话框资源创建一个类,继承于 CDialog 类,命名为 CMyDialog 图片 3、在想创建该对话框的地方添加如下代码   // 模态对话框...创建非模态对话框 创建非模态对话框相对简单,我们可以不需要自己派生一个 CDialog 的子类再调用子类的 DoModal(这个函数是模态对话框使用的),如果我们已经在资源视图创建好了对话框资源,那么直接使用如下代码就可以创建一个非模态对话框...// 非模态 CDialog* dialog = new CDialog;// new 一个对话框对象 dialog->Create(IDD_MYDIALOG, this);// 初始化对话框和我们的对话框资源绑定

    34510

    bootstrap 模态弹出

    您可以在页面上创建多个模态框,然后为每个模态框创建不同的触发器。现在,很明显,您不能在同一时间加载多个模块,但您可以在页面上创建多个在不同时间进行加载。...在模态框中需要注意两点: 第一是 .modal,用来把 的内容识别为模态框。 第二是 .fade class。当模态框被切换时,它会引起内容淡入淡出。...aria-labelledby="myModalLabel",该属性引用模态框的标题。...在这里它被用于关闭模态窗口。 class="modal-body",是 Bootstrap CSS 的一个 CSS class,用于为模态窗口的主体设置样式。...---- 模态框事件 show.bs.modal 调用show时使用 shown.bs.modal 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。

    5K40

    对话框模态框和弹出框看起来很相似,它们有何不同?

    通常,当开发人员谈到 overlays 时,他们指的是模态对话框。从字面上看,overlays 是放在其他事物之上的东西。弹出框和对话框都可以覆盖其他事物。...当模式对话框关闭时:如果用户触发它,将焦点移回触发器。浏览器会自动为s 执行此操作。对于弹出窗口,它只在“有意义的地方”的情况下执行(请参阅弹出窗口解释器)。...对于所有其他组件(非模态对话框弹出窗口或披露),预期的焦点管理因情况而异。Popup Explainer 关于焦点的部分描述了一些这样的情况。 所有的弹出窗口都是对话框吗?...然而,当他们选择国家时,他们可能想浏览其他内容,或者先弹出信用卡信息。他们可能需要查看标签以确定您是否需要出生国或居住国。最好采用非模态对话框,因为用户可能想查看其他内容。...在这种情况下,与其他任何屏幕交互都没有意义,因此将对话框设置为模态modal是有道理的。 弹出式导航 您正在构建一种“弹出式导航”。它在视口一侧打开,并在其打开时置于其他内容之上。

    3.7K00

    8.QT-对话框(模态与非模态)

    模态对话框 属于阻塞式调用,指没有关闭该对话框之前,是无法与其它任何窗口进行交互的 用于依赖用户选择的场合,比如:选项设置,消息提示,字体设置等 在栈上创建模态对话框是最简单常用的方式 使用exec(...d的消息循环,从而实现阻塞式调用 return a.exec(); } 非模态对话框   属于非阻塞调用,指出现该对话框时,也可以与父窗口进行交互 用于特殊功能设置的场合,比如:查找操作 一般情况下非模态对话框需要在堆上创建...,避免自动被摧毁 非模态对话框需要通过setAttribute()成员函数指定Qt::WA_DeleteOnClose属性 Qt::WA_DeleteOnClose表示:退出窗口后,让Qt自动摧毁这个对话框...在非模态对话框的基础上调用QDialog::setModal(true)成员函数实现 实验代码: int main(int argc, char *argv[]) { QApplication...只有模态对话框才有返回值概念 QDialog::exec()的返回值作为交互结果  -使用void QDialog::done ( int r ) 作为交互结果,将r值返回给exec()   -返回值为

    2K40

    PyQt5 模态对话框

    所谓的模态对话框是指,一旦调用该对话框,它就会成为应用程序唯一能与用户进行交互的部件。在关闭对话框之前,用户都不能使用应用程序的其他部件。...模态对话框是最简单的,因为会阻塞与对话框的父窗口及父窗口的兄弟窗口之间的其他任何交互,所以可降低对那些正在使用的数据在后台被修改的风险。模态对话框的缺点是用户不能实时地看到修改效果。...之前各篇介绍的内置的标准对话框都是模态对话框。本篇介绍自定义的模态对话框。详情请参见代码: ?...import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QFont from PyQt5.QtWidgets import * #模态对话框...FontModalDialog(self): dialog = FontPropertiesDlg(self) #若使用局部变量,则每次要重新创建 #dialog.exec_() 会模态化显示对话框

    2.4K20
    领券