Использование MFC MDI с несколькими окнами верхнего уровня - PullRequest
1 голос
/ 14 апреля 2009

Я работаю с несколькими приложениями Windows верхнего уровня. Главное окно - это MDIFrameWnd, я поместил некоторый код в CWinApp для переключения m_pMainWnd при переключении окна верхнего уровня. Это работает нормально, но запускаю утверждение, когда я закрываю одно из главных окон. Это утверждение от CMDIChildWnd:

void CMDIChildWnd::AssertValid() const
{
    CFrameWnd::AssertValid();
    ASSERT(m_hMenuShared == NULL || ::IsMenu(m_hMenuShared));
}

Похоже, что окно закрыто, чтобы открыть общее меню. Я пытаюсь выяснить, где меню выпущено в рамках MFC, но не могу найти его. Может ли кто-нибудь помочь мне? Спасибо ..

Ответы [ 2 ]

1 голос
/ 16 апреля 2009

Я обнаружил, что проблема в том, Элемент управления панели меню в главном кадре будет уничтожать меню в своем dtor. Спасибо всем.

1 голос
/ 15 апреля 2009

Класс CMultiDocTemplate владеет общим меню (в его деструкторе уничтожается m_hMenuShared).

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