При запуске программы я хочу сначала показать диалоговое окно приветствия, прежде чем показывать главное окно. Мой текущий подход подобен следующему.
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). Это работает, но имеет неприятные визуальные артефакты. Есть ли способ перестать показывать главное окно как можно раньше?
Другая проблема заключается в том, что когда я скрываю главное окно и показываю диалог, диалог не находится в центральной позиции главного окна.
В общем, как реализовать диалоговое окно приветствия и показать его в центре внимания прежде всего?