概述
假设A为主对话框,调用B子对话框时,首先需要在A的头文件中声明#include“B.h”
然后,在A的按钮函数是编写如下代码:
法一:在A对话框按钮对应的函数中声明一个B类型的指针,通过指针来达到调用B对话框的效果
//CDlgTestMode *dlh=new CDlgTestMode; //CDlgTestMode 为B的基类,这也是A中包含B头文件的原因
//dlh->Create(IDC_STATIC_TEST_MODE,this); //第一个参数是被调用对话框ID号
//dlh->ShowWindow(SW_SHOW);
这种方法有时候会出错。
法二:通过DoModal()函数来实现
CDlgTestMode dlgTestMode(this); //CDlgTestMode 为B的基类
dlgTestMode.DoModal();
Invalidate(FALSE);
注:如果用户点击了确定按钮,那么DoModal()函数就返回IDOK,此时进入if语句。IDOK是一个宏。
当你CMyDlg dlg;时,对话框并没有显示,只是构造了一个CMyDlg类型的对象而已,直到用户调用DoModal(),对话框才会显示出来。
以上函数都是在A主函数的按钮中实现。
最后
以上就是怕孤独热狗为你收集整理的[MFC] A对话框调用B对话框的全部内容,希望文章能够帮你解决[MFC] A对话框调用B对话框所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复