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

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

MessageDlg [D6, Win2k]


Alibaba ©   (2002-09-23 11:05:00) 

Всем привет!
Можно ли что-бы MessageDlg появлялось ПОВЕРХвсех окон?


Рыжик   (2002-09-23 13:35:00) [1]

Кстати, у MessageBox есть много интересных флагов: MB_SYSTEMMODAL, MB_TASKMODAL,MB_SETFOREGROUND,MB_TOPMOST (см. Help) :)


Alibaba   (2002-09-23 13:18:00) [2]

Ну, дык.... Я это....
Но модератор все равно может повырезать наши постингы за непотемные разговоры.
Так что ты аккуратней. :)


Separator   (2002-09-23 13:12:00) [3]

> Alibaba
Это у тебя во сколько утро???


Рыжик   (2002-09-23 13:06:00) [4]


> Yuri-7 (23.09.02 12:24)

The GetActiveWindow function retrieves the window handle to the active window associated with the thread that calls the function. По-этому и не работает.


Alibaba   (2002-09-23 13:06:00) [5]

> Рыжик ©
Да, действительно, что-то торможу с утра. :(
Спасибо.


Alibaba   (2002-09-23 13:03:00) [6]

Народ, так как мне узнать что-там нажал пользователь, если я реализовываю вариант А(Рыжик © (23.09.02 11:35))


Рыжик   (2002-09-23 13:02:00) [7]

Надо проверить, что возвращает ShowModal
Например, if f.ShowModal=mrOK then {пользователь нажал OK} (см. TModalResult - возможные значения)


Alibaba   (2002-09-23 13:00:00) [8]

> Yuri-7
Работает программа, главное окно закрыто другими окнами других приложений. По определенному событию я хочу показать сообщение пользователю. Если окно моей программы закрыто другими окнами то сообщение появляется под другими окнами. И пользователь его увидит только тогда, когда переключится на мою программу.


Yuri-7   (2002-09-23 12:56:00) [9]

> Рыжик © (23.09.02 12:46)
Да, при переходе между различными приложениями оно будет скрываться, но при возврате в данное приложение всегда будет торчать модальным. Если нужно, чтобы оно всегда торчало сверху (и мешало работать в других приложениях), то действительно надо делать свою StayonTop форму, как ты и предлагал.


Alibaba   (2002-09-23 12:55:00) [10]

> Рыжик ©
Не хочу показаться надоедливым...

Ваш вариант работает, но.
Можно ли определить : нажал пользователь на mbOK или закрыл форму (в правом верхнем углу крестик)?


Рыжик   (2002-09-23 12:46:00) [11]


> Yuri-7 (23.09.02 12:44)

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


Yuri-7   (2002-09-23 12:44:00) [12]

Что значит не работает? Как это проявляется?


Alibaba   (2002-09-23 12:39:00) [13]

> Yuri-7
GetActiveWindow не работает однако...


Yuri-7   (2002-09-23 12:24:00) [14]

Попробуй использовать WINAPI-шный MessageBox с 1-м параметром GetActiveWindow -
MessageBox(GetActiveWindow,"Сообщение","Заголовок", MB_OK)


Alibaba   (2002-09-23 11:49:00) [15]

Спасибо.
Счас попробую. :)


Рыжик   (2002-09-23 11:35:00) [16]

var f:TForm;
begin
f:=CreateMessageDialog("Msg",mtError,[mbOK]);
f.FormStyle:=fsStayOnTop;
f.ShowModal;
f.Free;


Наверх

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