MFC怎么点击让另一个对话框显示

在一个对话框中点击一个按钮控件,然后隐藏这个对话框,接着显示另一个对话框,这个要怎么做?... 在一个对话框中点击一个按钮控件,然后隐藏这个对话框,接着显示另一个对话框,这个要怎么做? 展开
 我来答
bhtzu
推荐于2016-04-08 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4095万
展开全部
首先要看你对话框是模态还是非模态。
以模态为例:
按钮响应消息函数最后增加代码:
CDialog::OnOk();
在调用该对话框处调整如下代码:
CDialog dlg1,dlg2;
if(dlg1.DoModal()==IDOK)
dlg2.DoModal();
追问
能否解释一下if语句括号里面和和下面那两句话的意思?还有,你这个CDialog dlg1,dlg2怎么才能关联到两个对话框上面啊?
追答
基础代码如果看不懂,要学会看MSDN和在线帮助,否则学习进度就太慢了。
关于对话框实例化和对话框模态调用的,看书上的hello world就可以了吧。。这样写能否看懂:
CMyDialog1 dlg1;
CMyDialog2 dlg2;
congya001
2012-12-23 · TA获得超过5043个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:348万
展开全部
模态对话框是下面这样:
单击 Geliang对话框的 OK按钮弹出 test对话框
void CGeliangDlg::OnOK()
{
// TODO: Add extra validation here
dlg1 dlg;

int result=dlg.DoModal(); //调用对话框类的成员函数

CDialog::OnOK();
}
非模态的话:
首先在类CGeliangDlg声明前面添加dlg1的声明语句
class dlg1;
然后在CGeliangDlg中添加一个变量 dlg1 *pdlg; 并在CGeliangDlg的构造函数中初始化为NULL
然后利用类向导添加确定按钮的消息映射
void CGeliangDlg::OnOK()
{
// TODO: Add extra validation here
if((pdlg!=NULL)&&::IsWindow(pdlg->m_hWnd))
{
AfxMessageBox("对话框已经被创建");
pdlg->ShowWindow(SW_SHOW);
}
else
{
pdlg=new dlg1();
}
if(!::IsWindow(pdlg->m_hWnd))
{
pdlg->Create(IDD_DIALOG1,this);
pdlg->ShowWindow(SW_SHOW);
}
//CDialog::OnOK(); //决定是否隐藏主对话框
}
希望对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式