首页 > 解决方案 > MFC:如何首先显示欢迎对话框?

问题描述

启动程序时,我想先显示一个欢迎对话框,然后再显示主窗口。我目前的方法如下。

BOOL CMyApp::InitInstance()
{
    ...
    // The one and only window has been initialized, so show and update it
    m_pMainWnd->ShowWindow(SW_HIDE);
    //m_pMainWnd->UpdateWindow();
    // call DragAcceptFiles only if there's a suffix
    //  In an SDI app, this should occur after ProcessShellCommand

    CWelcomeDialog welcome_dialog;
    welcome_dialog.DoModal();

    m_pMainWnd->ShowWindow(SW_SHOW);
    m_pMainWnd->UpdateWindow();

    return TRUE;
}

在 InitInstance() 结束时,它最初使用 (SW_SHOW)。起初,我尝试将其注释掉,但它仍然显示。所以我改为(SW_HIDE)。它有效,但有令人不快的视觉伪影。有没有办法尽早停止显示主窗口?

另一个问题是,当我隐藏主窗口并显示对话框时,对话框不在主窗口的中心位置。

一般来说,如何实现欢迎对话框并将其显示在其他任何东西之前?

标签: visual-studiovisual-c++mfc

解决方案


推荐阅读