精华内容
下载资源
问答
  • 模态和非模态的区别

    2015-11-29 13:45:00
    模态和非模态的区别 模态窗口就是在该窗口关闭之前,其父窗口不可能成为活动窗口的那种窗口。举个例子: 窗口A弹出窗口B,如果窗口B是模态的,在窗口B关闭前就不可能切换到窗口A;如果B是非模态的,那可以在这两个...

    模态和非模态的区别

     

    模态窗口就是在该窗口关闭之前,其父窗口不可能成为活动窗口的那种窗口。举个例子:  
           窗口A弹出窗口B,如果窗口B是模态的,在窗口B关闭前就不可能切换到窗口A;如果B是非模态的,那可以在这两个窗口之间任意切换。

           它一般用来显示提示信息和接受用户的输入。对话框不能独立存在。目前有两种对话框,分别为:模态对话框 和 非模态对话框。
    模态对话框在显示之后,就不能对同一个程序中的其它窗口进行操作。
    非模态对话框在显示之后,还可以对同一个程序的其它窗口进行操作。

    转载于:https://www.cnblogs.com/jingzhishen/p/5004687.html

    展开全文
  • 模态和非模态对话框的区别 值得你拥有 本人经验总结
  • 这种消息对话框分为两种:模态和非模态区别:简单说:模态对话框是你在弹出对话框之后必须对其作出响应和操作之后才能对对话框之外其他程序进行操作;非模态对话框就是在弹出对话框之后可以对弹出对话框...

    在MFC中,经常遇到弹出对话框进行信息交互,这时需要创建对话框。这种消息对话框分为两种:模态和非模态。

    区别:简单的说:模态对话框是你在弹出对话框之后必须对其作出响应和操作之后才能对对话框之外的其他程序的进行操作;非模态对话框就是在弹出对话框之后可以对弹出的对话框和对话框之外的应用程序同时进行操作,互不影响。

    模态对对话框的创建:在工程的资源视图中插入对话框,为其添加类;在父窗口的类声明中添加新插入对话框对象为类成员。可在父窗口的任何地方弹出对话框方法:DoModal()函数,eg:

    //父窗口类的声明
    class DiaDlg
    {
    	//....
    	//....
    public:
    	Dlg Dlg0;	//插入对话框的类名
    	//.....
    }
    
    //父窗口类的任一函数
    xxx DiaDlg::xxx()
    {
    	//.....
    	//....
    	//需要弹出对话框的位置
    	//弹出对话框
    	if(Dlg0.DoModal())
    	{
    	}
    	//....
    }

    利用DoModal()函数弹出的对话框为模态的。

    非模态对话框的创建:在工程的资源视图中插入对话框,为其添加类;在父窗口的类声明中添加新插入对话框对象指针

    为类成员。可在父窗口的任何地方弹出对话框方法步骤:

    (1)为新插入对话框对象指针成员开辟一个对话框对象的内存;

    (2)调用Create()函数创建一个对话框,这一步需要知道新插入对话框的ID;

    (3)调用ShowWindow()函数显示对话框。eg:

    //父窗口类的声明
    class DiaDlg
    {
    	//....
    	//....
    public:
    	Dlg* Dlg0;	//插入对话框的类名
    	//.....
    }
    
    //父窗口类的任一函数
    xxx DiaDlg::xxx()
    {
    	//...
    	//需要弹出对话框的位置
    	//弹出对话框
    	Dlg0 = new Dlg0();	//开辟一个对象的内存
    	//这里IDD_xxx为新插入对话框的ID
    	Dlg0->Create(IDD_xxx, NULL);	//创建对话框
    	Dlg0->ShowWindow(TRUE);		//显示对话框
    	//....
    }
    利用Create()函数创建的对话框为非模态的对话框。


    创建区别:模态对话框在其父窗口的类声明中的成员是对象,创建采用DoModal()函数;非模态对话框在其父窗口的类

    声明中的成员是对象指针,创建采用Create()函数。



    展开全文
  • 利用windows创建模态和非模态子窗口,首先先了解一下模态和非模态的区别:  模态窗口:在点击父窗口某一事件后,弹出一个子窗口,若子窗口存在,就无法对父窗口操作,直至子窗口消失.  非模态:弹出的子窗口和父...

            利用windows创建模态和非模态子窗口,首先先了解一下模态和非模态的区别:


         模态窗口:在点击父窗口某一事件后,弹出一个子窗口,若子窗口存在,就无法对父窗口操作,直至子窗口消失.

        非模态:弹出的子窗口和父窗口可同时操作。




       1.非模态:

    mywidget.h

    #ifndef MYWIDGET_H
    #define MYWIDGET_H

    #include <QWidget>

    namespace Ui {
        class MyWidget;
    }

    class MyWidget : public QWidget
    {
        Q_OBJECT

    public:
        explicit MyWidget(QWidget *parent = 0);
        ~MyWidget();

    private:
        Ui::MyWidget *ui;
    public slots:
        void showChildDialog();


    };

    #endif // MYWIDGET_H


    mywidget.cpp

    #include "mywidget.h"
    #include "ui_mywidget.h"
    #include <QDialog>  //包含头文件

    MyWidget::MyWidget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::MyWidget)
    {
        ui->setupUi(this);
        connect(ui->showChildButton, SIGNAL(clicked()),
                this, SLOT(showChildDialog()));
    }

    MyWidget::~MyWidget()
    {
        delete ui;
    }

    void MyWidget::showChildDialog()
    {
        QDialog *dialog = new QDialog(this);
        dialog->show();
    }


    main.cpp

    #include <QApplication>
    #include "mywidget.h"

    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MyWidget w;
        w.show();

        return a.exec();
    }






    2.模态窗口:


    展开全文
  • 模态对话框 出现模态对话框时,主窗口或其他这个程序窗口将无法...当非模态对话框被打开时,用户既可选择该对话框进行交互,也可以选择该程序其他窗口进行交互(依然可以操作其他窗口)。 例如:多窗口操作 ...

    模态对话框

    出现模态对话框时,主窗口或其他这个程序的窗口将无法进行操作,要等到模态对话框退出才可以操作这个程序的其他窗口。 (确保一对一进行反馈)

    例如:每次关闭程序时都会弹出的窗口:“1.退出程序 2.最小化窗口”

    非模态对话框

    当非模态对话框被打开时,用户既可选择和该对话框进行交互,也可以选择该程序的其他窗口进行交互(依然可以操作其他窗口)。

    例如:多窗口操作

    展开全文
  • 模态和非模态两者的区别: 一. 非模态对话框的模板必须具有Visible风格(Visible=True),否则对话框将不可见,而模态对话框则无需设置该项风格。在实际编程中更加保险的办法是调用CWnd::ShowWindow(SW_SHOW)来显示...
  • 模态对话框和非模态对话框的区别 模态对话框就是指那种“显示出来就不可以点选位于其下面的对话框”的对话框;反之的就是非模态对话框。 两者的区别: 一. 非模态对话框的模板必须具有Visible风格(Visible=True)...
  • MFC中模态对话框和非模态对话框的区别
  • 网上看了很多关于模态和非模态窗口区别以及如何彻底释放资源文章,总体意思都差不多,经过自己整理并测试以后,将总结内容记录下来,以便日后回顾。  1、 创建:  模态对话框:独占用户输入,在完成本...
  • 模态对话框和非模态对话框区别

    千次阅读 2019-01-07 19:47:32
    模态对话框(Model Dialog)与非模态对话框(Modeless Dialog)概念不是Qt所独有,在各种不同平台...对于非模态对话框,当被打开时,用户既可选择该对话框进行交互,也可以选择同应用程序其他窗口交互。 ...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 324
精华内容 129
关键字:

模态和非模态的区别