Есть MDI приложение с child-диалогом, на форме диалога находиться кнопка "Закрыть", так вот, казалось бы такая простая операция, а в WTL она не работает. После выполнения ::DestroyWindow(GetParent()), программа вылетает по ATLASSERT(pThis->m_pCurrentMsg == &msg), если проследить путь, как она туда вылетает получается вообще какой-то бред, может кто сталкивался с такой проблемой?
Здравствуйте, Capone, Вы писали:
хъ
Конечно —
Q202110
Вместо DestroyWindow нужно посылать wm_close.
PostMessage(GetParent(),WM_CLOSE,0,0);
Здравствуйте, Alexey Shirshov, Вы писали:
AS>Конечно — Q202110
AS>Вместо DestroyWindow нужно посылать wm_close.
AS>AS>PostMessage(GetParent(),WM_CLOSE,0,0);
AS>
...я потрясен, спасибо...
Здравствуйте, Capone, Вы писали:
[]
C>...я потрясен, спасибо...
Надо чаще встречаться... С MSDN.
Здравствуйте, Alexey Shirshov, Вы писали:
AS>Надо чаще встречаться... С MSDN.
WLT Не описан в MSDN
2Capone: как я понимаю можно уничтожать окно DestroyWindow, но предварительно нужно отключить фильты сообщений командами RemoveMessageFilter() & RemoveIdleHandler()
Здравствуйте, Ахет, Вы писали:
А>Здравствуйте, Alexey Shirshov, Вы писали:
AS>>Надо чаще встречаться... С MSDN.
А>WLT Не описан в MSDN
Зато там есть ATL.
А>2Capone: как я понимаю можно уничтожать окно DestroyWindow, но предварительно нужно отключить фильты сообщений командами RemoveMessageFilter() & RemoveIdleHandler()
Ты совершено не прав.