VC++6.0 MFC非模态对话框问题
我新建了一个基于对话框的应用程序,按下一个按钮以后,弹出了一个非模态对话框。问题就是,要添加什么代码才能使第一个对话框消失,而只显示第二个对话框(也就是非模态对话框)。就...
我新建了一个基于对话框的应用程序,按下一个按钮以后,弹出了一个非模态对话框。
问题就是,要添加什么代码才能使第一个对话框消失,而只显示第二个对话框(也就是非模态对话框)。就像QQ登录的状况一样,按下“登录”按钮后,登录对话框消失关闭了,而只出现QQ主面板了。我试了OnOK()、OnCancel()都不行。。。希望大家帮帮忙 展开
问题就是,要添加什么代码才能使第一个对话框消失,而只显示第二个对话框(也就是非模态对话框)。就像QQ登录的状况一样,按下“登录”按钮后,登录对话框消失关闭了,而只出现QQ主面板了。我试了OnOK()、OnCancel()都不行。。。希望大家帮帮忙 展开
6个回答
展开全部
你可以试试在按下键时设置一个成员变量(第一个对话框的public)的值,然后再第一个对话框中判断一下,该显示还是隐藏(调用 ShowWindow函数)。
追问
设置的成员变量值是用来干嘛的?
追答
比如在第一个对话框中公共成员变量初始为TRUE,然后后在对话框每次发生重绘的时候判断一下,如果为真ShowWindow(SW_SHOW ),否则ShowWindow(SW_HIDE);然后再第二个对话框出现的时候将将该值设为FALSE.。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在显示第二个对话框之前,试试添加 ShowWindow(SW_HIDE),不知道可不可以
例子: ShowWindow(SW_HIDE);
CDlgWaiting* pDlg = new CDlgWaiting; //显示第二个对话框
pDlg->Create(IDD_WAITING,this);
pDlg->ShowWindow(SW_SHOW);
pDlg->UpdateWindow();
例子: ShowWindow(SW_HIDE);
CDlgWaiting* pDlg = new CDlgWaiting; //显示第二个对话框
pDlg->Create(IDD_WAITING,this);
pDlg->ShowWindow(SW_SHOW);
pDlg->UpdateWindow();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在这个按钮 的实现 函数内
最后一行添加:
CDialog::OnCancel() ;
我觉得应该行吧,如不行,请低调
最后一行添加:
CDialog::OnCancel() ;
我觉得应该行吧,如不行,请低调
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EndDialog(1); 关闭第一个
CLoadDlg dlg;
dlg.DoModal(); 显示第二个
CLoadDlg dlg;
dlg.DoModal(); 显示第二个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
viod dialog1::OnBnclick()
{
(dialog2*) dlg = new dialog2;
dlg->create(IDD_DIALOG2);
dlg->ShowWindow(SW_SHOW);
this->ShowWindow(SW_HIDE);
}
{
(dialog2*) dlg = new dialog2;
dlg->create(IDD_DIALOG2);
dlg->ShowWindow(SW_SHOW);
this->ShowWindow(SW_HIDE);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询