Страница 1 из 1

MessageDlg... корректность отображения

Добавлено: 11 фев 2013, 11:59
Dr_Grizzly
Добрый день! Пишу на дельфе прогу и заметил, что у некоторых конечных пользователей отображение сообщения, вызванное методом MessageDlg() происходит на заднем фоне основного окна приложения, при этом приложение ожидает нажатие кнопок управления в окне сообщения и не дает переключится на него. Исключением является Alt+tab или сворачивание/разворачивание главного окна приложения...

Как можно решить такую проблему? Или определить причину такого отображения сообщений.

Re: MessageDlg... корректность отображения

Добавлено: 11 фев 2013, 17:00
AiK
Дельфи под рукой не имею кучу лет, поэтому всё на уровне интуиции. Каждое окно в винде имеет своего родителя. Соответственно решение проблемы - в явном указании родителя у диалога. См. SetWindowLong и GWL_HWNDPARENT

При этом очевидно проще будет сразу использовать WinAPIшный MessageBox, у которого первый параметр как раз и есть родительское окно. Подозреваю, что в современных версиях винды он ещё и красивше отображаться будет :)