DestroyWindow() в modeless диалогах не работает
От: Capone  
Дата: 23.06.03 10:42
Оценка:
Есть MDI приложение с child-диалогом, на форме диалога находиться кнопка "Закрыть", так вот, казалось бы такая простая операция, а в WTL она не работает. После выполнения ::DestroyWindow(GetParent()), программа вылетает по ATLASSERT(pThis->m_pCurrentMsg == &msg), если проследить путь, как она туда вылетает получается вообще какой-то бред, может кто сталкивался с такой проблемой?
Re: DestroyWindow() в modeless диалогах не работает
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 23.06.03 11:04
Оценка:
Здравствуйте, Capone, Вы писали:

хъ

Конечно — Q202110

Вместо DestroyWindow нужно посылать wm_close.
PostMessage(GetParent(),WM_CLOSE,0,0);
Re[2]: DestroyWindow() в modeless диалогах не работает
От: Capone  
Дата: 23.06.03 11:25
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Конечно — Q202110


AS>Вместо DestroyWindow нужно посылать wm_close.

AS>
AS>PostMessage(GetParent(),WM_CLOSE,0,0);
AS>


...я потрясен, спасибо...
Re[3]: DestroyWindow() в modeless диалогах не работает
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 23.06.03 11:59
Оценка:
Здравствуйте, Capone, Вы писали:

[]

C>...я потрясен, спасибо...


Надо чаще встречаться... С MSDN.
Re[4]: DestroyWindow() в modeless диалогах не работает
От: Ахет  
Дата: 23.06.03 17:25
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:
AS>Надо чаще встречаться... С MSDN.

WLT Не описан в MSDN

2Capone: как я понимаю можно уничтожать окно DestroyWindow, но предварительно нужно отключить фильты сообщений командами RemoveMessageFilter() & RemoveIdleHandler()
Re[5]: DestroyWindow() в modeless диалогах не работает
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 24.06.03 03:48
Оценка:
Здравствуйте, Ахет, Вы писали:

А>Здравствуйте, Alexey Shirshov, Вы писали:

AS>>Надо чаще встречаться... С MSDN.

А>WLT Не описан в MSDN


Зато там есть ATL.

А>2Capone: как я понимаю можно уничтожать окно DestroyWindow, но предварительно нужно отключить фильты сообщений командами RemoveMessageFilter() & RemoveIdleHandler()


Ты совершено не прав.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.