VC++6.0 MFC非模态对话框问题

我新建了一个基于对话框的应用程序,按下一个按钮以后,弹出了一个非模态对话框。问题就是,要添加什么代码才能使第一个对话框消失,而只显示第二个对话框(也就是非模态对话框)。就... 我新建了一个基于对话框的应用程序,按下一个按钮以后,弹出了一个非模态对话框。
问题就是,要添加什么代码才能使第一个对话框消失,而只显示第二个对话框(也就是非模态对话框)。就像QQ登录的状况一样,按下“登录”按钮后,登录对话框消失关闭了,而只出现QQ主面板了。我试了OnOK()、OnCancel()都不行。。。希望大家帮帮忙
展开
 我来答
843299951
2011-06-02 · TA获得超过458个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:128万
展开全部
你可以试试在按下键时设置一个成员变量(第一个对话框的public)的值,然后再第一个对话框中判断一下,该显示还是隐藏(调用 ShowWindow函数)。
追问
设置的成员变量值是用来干嘛的?
追答
比如在第一个对话框中公共成员变量初始为TRUE,然后后在对话框每次发生重绘的时候判断一下,如果为真ShowWindow(SW_SHOW ),否则ShowWindow(SW_HIDE);然后再第二个对话框出现的时候将将该值设为FALSE.。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangjiweizai20
2011-06-03
知道答主
回答量:8
采纳率:0%
帮助的人:4万
展开全部
在显示第二个对话框之前,试试添加 ShowWindow(SW_HIDE),不知道可不可以

例子: ShowWindow(SW_HIDE);
CDlgWaiting* pDlg = new CDlgWaiting; //显示第二个对话框
pDlg->Create(IDD_WAITING,this);
pDlg->ShowWindow(SW_SHOW);
pDlg->UpdateWindow();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjtxtl
2011-06-02 · 超过17用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:34万
展开全部
在这个按钮 的实现 函数内
最后一行添加:
CDialog::OnCancel() ;
我觉得应该行吧,如不行,请低调
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2011-06-02 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2801万
展开全部
EndDialog(1); 关闭第一个
CLoadDlg dlg;
dlg.DoModal(); 显示第二个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
foryond
2011-06-03 · 超过21用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:78.2万
展开全部
viod dialog1::OnBnclick()
{
(dialog2*) dlg = new dialog2;
dlg->create(IDD_DIALOG2);
dlg->ShowWindow(SW_SHOW);
this->ShowWindow(SW_HIDE);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式