读书人

诡异的有关问题

发布时间: 2012-02-02 23:57:14 作者: rapoo

诡异的问题
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();
}

读书人网 >VC/MFC

热点推荐