MFC创建模态对话框和非模态对话框

4 篇文章 0 订阅
2 篇文章 0 订阅

  1. 用向导创建一个单文档应用程序,然后再插入一个对话框。
  2. 为该对话框关联一个类(注意:在MFC中,对资源的操作是对一个类来完成的),为了能在该程序中打开此对话框,就像ABOUT对话框一样,就必须有一个打开对话框的事件,我们可以新建一个菜单,从菜单中打开此对话框。
  3. 在菜单中资源添加一个菜单,用AppWizard向导为该菜单添加一个消息响应函数。然后在该函数中写弹出对话框的代码。
  4. 创建一个模态对话框:
    先为对话框类声明一个对象,如CTest dlg;
    注:此时需要在该文件前面加上CTest类的头文件“Test.h”。
    因为在该文件中,程序不能识别CTest是什么,CTest的定义在“Test.h"中。
    调用DoModal()函数即可。
    dlg.DoModal();
  5. 创建一个非模态对话框:
     CTest *pdlg=new CTest();
     pdlg->Create(IDD_DIALOG1,this);
     pdlg->ShowWindow(SW_SHOW);             //没有这句话对话框将不会显示
    注:若将第一句写成CTest dlg将不会显示,因为dlg为一个局部变量,当函数执行完后就被销毁了。在模态对话框中则不同,程序执行到DoModal()时就暂停了,所以模态对话框在关闭之前不允许程序执行其它操作,而非模态对话框在没关闭之前允许程序执行其它操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值