当前位置: 代码迷 >> VC/MFC >> MFC单文档应用程序 先暗藏主窗口,而只是先显示一个对话框出来做登录窗口
  详细解决方案

MFC单文档应用程序 先暗藏主窗口,而只是先显示一个对话框出来做登录窗口

热度:149   发布时间:2016-05-02 03:36:10.0
MFC单文档应用程序 先隐藏主窗口,而只是先显示一个对话框出来做登录窗口
本帖最后由 u011642451 于 2015-07-29 00:43:38 编辑

我在 CApp::InitInstance() 中加入如下代码:

m_pMainWnd->ShowWindow(SW_HIDE); //SW_SHOW

CLoginDlg dlg;
if ( IDOK == dlg.DoModal())
{
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
}
else
{
exit(0);
}


但是显示的时候,主窗口会闪一下,然后才隐藏掉。

不想要它闪,上来就直接只是显示登录对话框,如何解决? 谢谢
------解决思路----------------------
你的逻辑不对,你应该在InitInstance函数的开头直接
CLoginDlg dlg;
    if ( IDOK == dlg.DoModal())
    {
        m_pMainWnd->ShowWindow(SW_SHOW);
        m_pMainWnd->UpdateWindow();
    }
    else
    {
        exit(0);
    }

函数开头主对话框还没有创建!
------解决思路----------------------
sorry,不该粘贴你的代码的,
CLoginDlg dlg;
    if ( IDOK == dlg.DoModal())
    {
       // 做你想做的,做完了,主对话框就显示了
    }
    else
    {
        return FALSE;
    }
  相关解决方案