诡异的问题
MFC编程中,在显示主框架前先显示了一个登陆对话框,在登陆对话框中按确定时,我要将资源导入,但导入失败,我希望仍然只显示这个登陆对话框。
原来我是这样做的:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
LoginDialog dlg;
if(dlg.DoModal()==IDOK)
{
if (!((CDesignToolApp*)AfxGetApp())-> LoadDataResources()) {
//CFrameWnd *pParentWnd = dlg.GetParentFrame();
//pParentWnd-> SendMessage(WM_CREATE);
AfxMessageBox( "资源导入失败 ");
return -1;
}
....
}
....
}
但这样就直接退出了。希望在资源导入失败后仍然只显示这个登陆对话框。
[解决办法]
那你应该在dialog的OnOk事件里作这件事,也就是当导入失败时return就可以了,这样你的登陆框框就不会消失了
[解决办法]
在dlg的OnOK()函数中处理。
void LoginDialog::OnOK()
{
....
if (!((CDesignToolApp*)AfxGetApp())-> LoadDataResources()) {
//CFrameWnd *pParentWnd = dlg.GetParentFrame();
//pParentWnd-> SendMessage(WM_CREATE);
AfxMessageBox( "资源导入失败 ");
return;
}
CDialog::OnOK();
}