首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

诡异的有关问题

2012-02-02 
诡异的问题MFC编程中,在显示主框架前先显示了一个登陆对话框,在登陆对话框中按确定时,我要将资源导入,但导

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

热点排行