为了账号安全,请及时绑定邮箱和手机立即绑定

请教下怎么点击让另一个对话框显示?该怎么去实现?

请教下怎么点击让另一个对话框显示?该怎么去实现?

C++
波斯汪 2023-04-22 23:19:00
MFC在一个对话框中点击一个按钮控件,然后隐藏这个对话框,接着显示另一个对话框,这个要怎么做?
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

模态对话框是下面这样:
单击 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(); //决定是否隐藏主对话框
}
希望对你有所帮助



查看完整回答
反对 回复 2023-04-26
?
POPMUISE

TA贡献1765条经验 获得超5个赞

首先要看你对话框是模态还是非模态。
以模态为例:
按钮响应消息函数最后增加代码:
CDialog::OnOk();
在调用该对话框处调整如下代码:
CDialog dlg1,dlg2;
if(dlg1.DoModal()==IDOK)
dlg2.DoModal();

查看完整回答
反对 回复 2023-04-26
  • 2 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信