![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;