当前位置: 首页 > 编程技术 > 正文

MFC两种对话框窗口创建方式的区别

在MFC中有两种对话框的创建方式,他们分别创建了模态对话框和非模态对话框,很多时候都弄不清楚什么是非模态对话框,什么是模态对话框,通过比较两中创建方式的差异,总结了下面的笔记

这里假设我新建了一个DiaLog,并且创建了一个类为DiaLogTest;

方法一 :

DiaLogTest Dlg;//实例化一个类的对象

Dlg.DoModal();

方法二:

DiaLogTest * Dlg =new DiaLogTest;//创建指针并且申请空间

Dlg->Create(IDD_NOMODULEDLG,this);//假设创建的新的对话框的ID为IDD_NOMODULEDLG

Dlg->ShowWindow(SW_SHOW);

其实,第一种方法创建的是模态话对话框 ,第二种方法创建的是非模态话对话框

第一种方法创建的对话框,只有在创建的对话框被关闭后才能对父窗口进行编辑,

第二种方法创建的对话框,即可以编辑新建的对话框,也可以对父对窗口进行编辑,比如在创建一个新的窗口,这里的原因是因为第二种方法是采用了创建指针的方式,利用给指针申请一个空间来达到创建的目的,这样的话,空间可以多次申请,也就可以达到创建多个新窗口的目的了

这个就是两者的区别,个人觉得能不能区分两个名称不重要,重要的是区分两种创建方式



本文固定链接: http://kuaile.in/archives/345 | 蒲公英的博客

该日志由 蒲公英 于2012年02月03日发表在 编程技术 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: MFC两种对话框窗口创建方式的区别 | 蒲公英的博客
关键字:

MFC两种对话框窗口创建方式的区别:目前有2 条留言

  1. 板凳
    Alysa:

    我喜欢,顶一个!

    2012-02-12 下午 6:11 [回复]
  2. 沙发
    蒲公英:

    @Alysa: 呵呵,也是才开始学MFC,看你的站点,你是外国友人?
    oh,I am learning MFC,too.Browse you site,are you foreigners?

    2012-02-13 下午 1:27 [回复]

发表评论


You must enable javascript to see captcha here!

快捷键:Ctrl+Enter