Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выводить сообщения из приложения поверх всех окон [Win2k]


lightix ©   (2006-09-04 10:02:00) 

Ситуация такая - пользователь запускает приложение, в котором после выполнения некоторых действий выдается сообщение с помощью ShowMessage. Если в этот момент активно окно любого другого приложения (т.е. например пользователь после запуска программы запустил еще какое то приложение) - то окно ShowMessage не видно, и его приходится вылавливать с помощью alt-tab.

Каким образом сказать системе, что сообщения данного приложения нужно выводить поверх всех окон?


GrayFace   (2006-09-04 10:37:00) [1]

А чтобы использовать ShowMessage создай модуль, в нем функцию ShowMessage, работающую так, как написано выше и пихай его в uses последним (точнее, после модуля с оригиналом ShowMessage).


lightix   (2006-09-04 10:31:00) [2]

Сергей М., я их вместе совместил, работает!
Спасибо огромное!!!!!


Сергей М.   (2006-09-04 10:26:00) [3]

пробуй MB_SYSTEMMODAL вместо MB_SETFOREGROUND


lightix   (2006-09-04 10:18:00) [4]

Сергей М., понял, MB_SETFOREGROUND выдает сообщение поверх всех окон данного приложения.


Сергей М.   (2006-09-04 10:16:00) [5]


> lightix   (04.09.06 10:12) [4]


Как ты думаешь, имеет ли право любое другое приложение (не твое) в этот момент создавать свои окна "поверх всех приложений", включая твое ?


lightix   (2006-09-04 10:12:00) [6]

Кстати, только что попробовал:

> MessageBox(0, 'Мое сообщение', 'Заголовок моего сообщения',
>  MB_OK or MB_SETFOREGROUND);

Сообщение выпало как обычно, не поверх всех приложений.


Ketmar   (2006-09-04 10:10:00) [7]

лень -- это не двигатель прогресса, а генератор багов.


lightix   (2006-09-04 10:07:00) [8]

А как применить для ShowMessage? Чтобы не переписывать кучу программ.


Сергей М.   (2006-09-04 10:05:00) [9]

MessageBox(0, 'Мое сообщение', 'Заголовок моего сообщения', MB_OK or MB_SETFOREGROUND);


Наверх

Титульная страница Поиск, карта сайта Написать письмо