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

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

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

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

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


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

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


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