MFC 怎么实现在一个对话框点击按钮进入另一个对话框,在进入的这个对话框点击按钮返回原来的对话框

山外客 2014-05-30 06:46:32
本人在建立的时候遇到了执行错误。
在第一个对话框中,响应按钮函数是这样的
void CKTVDlg::Oninsystem() //进入系统按钮的响应函数
{
m_dialog1.ShowWindow(SW_SHOW);
UpdateWindow();
}
第二个对话框按钮的响应函数
void Sysdialog::Onreturnmain()
{
DestroyWindow();
}
大大们看看有什么问题吗?
...全文
883 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
这不是鸭头 2014-05-30
  • 打赏
  • 举报
回复
模式对话框 非模式对话框 OnOK() OnCancel() destorywindow() OnDestroy() 还是网上搜搜,看的详细点好
山外客 2014-05-30
  • 打赏
  • 举报
回复
引用 2 楼 arpnet99 的回复:

主对话框
void CCSDNT1Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	ShowWindow(SW_HIDE);
	m_dlg.DoModal();
}
//OR
void CCSDNT1Dlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	CDlgSecond *dlg=new CDlgSecond;
	dlg->Create(IDD_DIALOG1,NULL);
	dlg->ShowWindow(SW_SHOW);
	ShowWindow(SW_HIDE);
}

子对话框
void CDlgSecond::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	GetParent()->ShowWindow(SW_SHOW);
	OnCancel(); //or OnOK();
}
试了,加上 OnCancel(); 就行了,我原来的是 destorywindow() 能说下,调用 OnCancel(); 的作用吗?谢了
山外客 2014-05-30
  • 打赏
  • 举报
回复
[quote]你应该是在点击第一个对话框按钮时,隐藏对话框本身,然后在domode弹出第二对话框,第二对话框中点击按钮关闭本身的同时显示第一个对话框。 我是这样做的啊!可返回后,再点击就直接退出了
这不是鸭头 2014-05-30
  • 打赏
  • 举报
回复

主对话框
void CCSDNT1Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	ShowWindow(SW_HIDE);
	m_dlg.DoModal();
}
//OR
void CCSDNT1Dlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	CDlgSecond *dlg=new CDlgSecond;
	dlg->Create(IDD_DIALOG1,NULL);
	dlg->ShowWindow(SW_SHOW);
	ShowWindow(SW_HIDE);
}

子对话框
void CDlgSecond::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	GetParent()->ShowWindow(SW_SHOW);
	OnCancel(); //or OnOK();
}
请叫我涛哥0-0 2014-05-30
  • 打赏
  • 举报
回复
你应该是在点击第一个对话框按钮时,隐藏对话框本身,然后在domode弹出第二对话框,第二对话框中点击按钮关闭本身的同时显示第一个对话框。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧