Проблема Z-порядка с модальным диалогом

Я создал диалог с существующим приложением (о котором я не знаю всей его структуры), и диалог поддерживает самый высокий Z-порядок ВСЕ ОКНА ПОКАЗАННЫЕ В ОС вместо самого высокого в приложении.

Вот примерный набросок того, как я его реализую:

Карта сообщений ON_COMMAND связывает меню с функцией обработчика OnTestDialog(), который выглядит так:

void CSettle3DDoc::OnTestDialog(){
UpdateAllViews(NULL);
CDlg_Test_Dialog dlg;
dlg.DoModal();
}

CDlg_Test_Dialog это подкласс ETSLayoutDialog, код которого вы можете найти здесь: http://www.codeproject.com/Articles/116/Layout-Manager-for-Dialogs-Formviews-DialogBars-an

Оттуда, ::OnInitDialog() призывает ETSLayoutDialog::OnInitDialog()и инициализирует другую переменную, которая не имеет отношения к Z-порядку.

После инициализации нет другого кода, который вызывает изменение Z-порядка Диалога.
Оставаться поверх других окон в приложении приемлемо, но блокирование просмотра других приложений немного раздражает, и я бы хотел, чтобы это было исправлено 🙁

Любые идеи будут оценены.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]