Привет, я создаю имитацию контекстного меню Windows.
Показать диалог делает следующее:
CreateDialogIndirectParam
запускает цикл сообщений:
while ( ContinueModal() && GetMessage(&msg, NULL, 0, 0) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); }
В диалоговом окне я ищу событие потерянного фокуса нового окна, я установил ContinueModel флаг ложь и вызов EndDialog / DestroyWindow,
ContinueModel
EndDialog
DestroyWindow
Спасибо! D.
Как сказано в первой строке документации, EndDialog заканчивает модальные диалоги. Ваш диалог не модальный, поэтому EndDialog это неправильная функция. Документация для CreateDialogIndirectParam говорит
Чтобы уничтожить диалоговое окно, используйте функцию DestroyWindow.
Других решений пока нет …