关于对话框的一个弱弱的问题 我想大概你是重载第一个对话框的OnOK()时候把里面的CDialog::OnOK()那句话给去掉了,那当然没有返回了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用this->ShowWindow(SW_HIDE);先把对话框藏起来,待另外一个对话框Domodel()后调用CDialog::OnOK()退出。 我的代码时这样的:void CInputPasswd::OnOK() {.......if (strUserInPass.Compare(sPassWord) == 0) //if user's input correct { CModify dlgModify; dlgModify.DoModal(); }else......CDialog::OnOK();}因为在调用dlgModify.DoModal()时,CInputPasswd::OnOK() 并没有返回,因此InputPasswd对话框还依旧存在,可是我想让他消失亚,也就是说屏幕上应该只有dlgModify对话框。 如果我想在用户输入不正确的前提下,依然显示此对话框,即在else语句中调用函数达到仍旧显示对话框允许用户再次输入的结果,除非OnCancel()事件发生,我该怎么做呢? CInputPasswd dlgPwd;// 一直循环直到用户输对密码或者在输密码时按取消按钮while(dlgPwd.DoModal() == IDOK){ if (dlgPwd.strUserInPass.Compare(sPassWord) == 0) //if user's input correct { CModify dlgModify; dlgModify.DoModal(); break; }} 上面的方法可同时解决仁兄的两个问题;strUserInPass, sPassWord的作用域我是假设的。 关于《深入浅出MFC》…… 在vc单文档程序中加入数据库 谁曾经不用MFC的CEditView类编过文字处理程序? windows编程和JAVA编程哪个更该先学? 怎样编程解析URL socket数据收发的问题,在线等 困惑中...读二进制文件,并在View中显示 菜鸟,在线等待,急。。。高分求解 如何在ie窗口中右键弹出我定义的菜单,并运行我的应用程序? WinCE下写的程序如何保护不被盗版 关于安装程序的问题,熟悉的朋友请看看 请教各位高手,如何将bmp图存入ACCESS数据库?
void CInputPasswd::OnOK()
{
.......
if (strUserInPass.Compare(sPassWord) == 0) //if user's input correct
{
CModify dlgModify;
dlgModify.DoModal();
}
else
......
CDialog::OnOK();
}
因为在调用dlgModify.DoModal()时,CInputPasswd::OnOK() 并没有返回,因此InputPasswd对话框还依旧存在,可是我想让他消失亚,也就是说屏幕上应该只有dlgModify对话框。
while(dlgPwd.DoModal() == IDOK)
{
if (dlgPwd.strUserInPass.Compare(sPassWord) == 0) //if user's input correct
{
CModify dlgModify;
dlgModify.DoModal();
break;
}
}
strUserInPass, sPassWord的作用域我是假设的。