smallboxes
smallboxes
采纳率80%
2016-08-25 20:21

MFC中的对话框可不可以两个对话框同时存在并且工作?

2
已采纳

我需要编写一个程序,打开一个子对话框后,子对话框上的控件能正常工作,同时,母对话框(也就是主程序)上的控件同样正常工作?
但是我调用子程序的Domodal()函数以后,母对话框总是挂起的,我该怎么办?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • qq_27587417 看得到你的人头 5年前

    不要用doModal,用create创建
    //百度一下。。。
    首先你要在资源面板添加一个对话框,假设ID为IDD_DIALOG1,类为CTestDlg
    则可以用指针的方式创建:
    CTestDlg* dlg;
    dlg = new CTestDlg;
    dlg->Create(IDD_DIALOG1); //非模态对话框ID号
    dlg->ShowWindow(SW_SHOW);

    点赞 评论 复制链接分享
  • weixin_35970616 weixin_35970616 5年前

    模态和非模态的区别是因为,模态框,将消息循环局部化,简单说,从一个大圈进入了一个小圈,可以认为是两个while循环的嵌套,按照你的想法,
    你希望弹出的模态框在弹出窗口时,父模态框能活动,就很简单了,只要让你后面弹出的窗口,不是模态框就行。 简单说就是一个模态窗口弹出一个非模态的窗口。

    点赞 评论 复制链接分享
  • lx624909677 lx624909677 5年前

    Domodal创建的是模态对话框,创建非模态的对话框就可以两个对话框之间切换了

    点赞 评论 复制链接分享
  • hijack00 hijack00 5年前

    对话框分模态对话框(Modal)和非模态对话框,你说的那种对话框属于模态对话框,你创建一个非模态对话框好了(应该是创建窗口的时候设置某个参数,查一下API的说明文档)

    点赞 评论 复制链接分享
  • AinUser AinUser 5年前

    可以去知乎上面或者github上面有

    点赞 评论 复制链接分享