2017-02-15 27 views
0

У меня есть диалоговое окно (D1), которое создает новое диалоговое окно (D2) с помощью DoModal(). Я заметил, что диалог D2 всегда сверху. Даже если я открываю новое приложение, при работе с этим приложением появляется над ним диалоговое окно D2.Диалог MFC DoModal() всегда сверху всех приложений

Я хочу, чтобы диалог D2 был сверху только в контексте моего приложения, а не во всех приложениях, которые я использую одновременно. Может ли кто-нибудь сказать мне, как я могу решить эту проблему?

+0

У вас есть стиль WS_EX_TOPMOST для вашего диалога? Он вряд ли будет иметь какое-либо отношение к DoModal() или MFC. Вероятно, это стиль диалога в вашем ресурсе. Если вам нужна помощь, вы должны указать источник ресурса диалога. –

+0

То, что вы описываете, является стандартным поведением для модальных диалогов: модальный диалог всегда находится перед окном владельца в Z-порядке. Если один из ваших модальных диалогов находится перед всеми другими окнами, это ошибка. – IInspectable

+0

@Intpectable, но он сказал «даже если я открываю новое приложение», указывая на другую программу. –

ответ

2

Большое спасибо. Для System Modal было установлено значение true не для этого окна, а для базового окна. Установив его в false, он решил!