MFC: создание немодального диалогового окна без отображения - PullRequest
0 голосов
/ 28 апреля 2011

Я пытаюсь создать простое немодальное диалоговое окно, которое я создаю из своей функции InitInstance (), полученной из CWinApp.

BOOL CMyApp::InitInstance()
{
    ...
    m_pMyDialog = new CMyDialog();
    m_pMyDialog->Create(CMyDialog::IDD);
    ...
    retrun TRUE;
}

Я создал шаблон диалога в редакторе ресурсов, и бит WS_VISIBLE не установлен. Мое намерение состоит в том, чтобы не показывать диалоговое окно, пока я не вызову явно ShowWindow (SW_SHOW), но по какой-то причине вызов Create отображает диалоговое окно.

Я пытался изменить возвращаемое значение OnInitDialog () на FALSE, но это не сработало.

Я даже пытался вызвать ModifyStyle () на случай, если что-то еще устанавливает бит WS_VISIBLE.

int CMyDialog::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
   if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;

   ModifyStyle(WS_VISIBLE, 0);   

   return 0;

 }

Это тоже не работает. Во всех случаях, после того, как я вызываю Create, отображается диалоговое окно, которое не так, как я прочитал, должно работать.

1 Ответ

2 голосов
/ 17 ноября 2011

Проблема была с AnimateWindow (), из-за которой диалоговое окно преждевременно отображалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...