powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Модальные окна
9 сообщений из 9, страница 1 из 1
Модальные окна
    #32090579
Speaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая проблема.
Если из модального окна делать вызов MessageBox,
ShowMessage и т.д. то иногда мсг может появиться
ниже по Z-уровню чем родительское окно, такая же
фигня, если из одного модального окна показываешь
другое. Такое, к счастью, случается очень редко,
(полагаю, это проблемы Windows) но, все таки бывает.

Внимание, вопрос:
1. Есть ли варианты борьбы с этим злом в первом случае (MsgBox etc.)?
2. Имеет ли смысл вызывать BringToFront в обработке
сообщения OnShow, или это надо делать после показа формы?

Теоретически можно наверное сделать FindWindow & ShowWindow
с соотв. параметрами, но уж больно это запарно, модут у кого-то
есть более интересные идеи.

P.S. Отказаться от модальных окон нельзя по условию :(
...
Рейтинг: 0 / 0
Модальные окна
    #32090641
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
Application.RestoreTopMosts;
Application.BringToFront;
...
Рейтинг: 0 / 0
Модальные окна
    #32090648
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на крайняк повтори 3-4 раза командуры ... )
...
Рейтинг: 0 / 0
Модальные окна
    #32090653
Speaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смешно :)
попробую, жаль только, что глюк нельзя искуственно вызвать,
чтобы проверить...по крайней мере я не знаю как
...
Рейтинг: 0 / 0
Модальные окна
    #32090674
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу сказать, что у винды стоит блок на активацию приложений не имеющих фокуса ввода (начиная с 98) ... есть конечно некие извраты чтобы обыграть этот вариант - но они все очень не доступны в делфях... вернее доступны ... но зачема?!
представь - ты кемперишь клаву - а тут - на тебе - !? - вы холтите кильнуть винт - и ты думая что перенвернул каретку ударил ентер )))
вот прикол потом ....
...
Рейтинг: 0 / 0
Модальные окна
    #32090988
denche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня тоже ShowMessage появлялись
ниже по Z-уровню чем родительское окно,
я попробывал
Application.MessageBox('У вас ошибка!','Внимание!',MB_ICONWARNING + MB_SYSTEMMODAL)
больше ShowMessage не пропадали

позже я нашел причину, использование Ehlib сомпонентов версии 2.0.
поставил версию 2.1, глюк исчез
...
Рейтинг: 0 / 0
Модальные окна
    #32091002
Speaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Application.MessageBox('У вас ошибка!','Внимание!',MB_ICONWARNING + MB_SYSTEMMODAL) 


Я думал об этом, да не хотелось делать SYSTEM_MODAL. На мой взгляд,
это не есть корректно блокировать всю систему при вопросе о удалении
всего лишь одной строки в программе

Я, кстати использую Windows.MessageBox, в Application.MessageBox,
насколько я помню нерусифицированы кнопки и какая-то еще
неправильная фигня...
...
Рейтинг: 0 / 0
Модальные окна
    #32091483
NightSpider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бог ты мой, а зачем такой изврат творить, неужели нельзя обойтись без 2х модальных окон?
...
Рейтинг: 0 / 0
Модальные окна
    #32091488
Speaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если в проекте два окна, то можно :))
а если серьезно, то бывает, что и нельзя...:(
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Модальные окна
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]