![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заставить окно оставаться всегда поверх всех других окон [D7, WinXP]
Dront © (2006-10-12 11:14:00)Из программы оповещений свёрнутой в трей в нужный момент хочу показать окно ( не главную форму приложения ) со срочной информацией. Для этого:
frmMailNotify := TfrmMailNotify.Create(Application);
...
SetForegroundWindow(frmMailNotify.Handle);
Этого оказывается недостаточно - пользователи иногда "теряют" это окно. Надо бы, как в Windows Task manager-e. Пожалуйста, посоветуйте решение.
Ketmar (2006-10-12 17:02:00) [1]я намекал, что это свойство никто форме и не ставит. ставят флажок окна, начисто игнорируя свойство. потому оно и не появляется (что не мешает окну иметь флажок).
Dront (2006-10-12 16:58:00) [2]Вы совершенно правы! Форма не получает свойства fsStayOnTop.
Спасибо за уточнение. И за совет тоже спасибо. Я думаю, что у меня Ваш вариант не работает из-за конфликта с "механикой" помещения приложения в трей. Я понимаю, что "сдуру" таких вполне конкретных рекомендаций не дают.
Ketmar (2006-10-12 16:26:00) [3]>[8] Dront(c) 12-Oct-2006, 16:25
>Окно не получает свойства fsStayOnTop
и не должно. потому что у окнатакого свойства нет. есть только у формы. %-)
Dront (2006-10-12 16:25:00) [4]Окно не получает свойства fsStayOnTop
Орион (2006-10-12 16:22:00) [5]> Вариант Ориона у меня не работает
о.О как именно?
Dront (2006-10-12 15:55:00) [6]Большое спасибо за помощь. Сделал, как предложил Leonid Troyanovsky
Application.NormalizeTopMosts;
frmMailNotify.FormStyle := fsStayOnTop;
frmMailNotify.ShowModal;
Application.RestoreTopMosts;
Вариант Ориона у меня не работает
Орион (2006-10-12 15:26:00) [7]
type
TfrmMyForm = class(TForm)
...
protected
procedure CreateParams(var Params: TCreateParams); override;
private
...
public
...
end;
procedure TfrmMyForm.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle:=Params.ExStyle or WS_EX_TOPMOST;
end;
Leonid Troyanovsky (2006-10-12 13:53:00) [8]
> Dront © (12.10.06 12:08) [2]
> Да стоит FormStyle = fsStayOnTop, но моё окно - "не главная
http://www.rsdn.ru/Forum/?mid=466741
--
Regards, LVT.
@!!ex (2006-10-12 12:45:00) [9]?Баг? XP.
Иногда СтэйОнТоповые приложения падают вниз.
Фиг знает почему, так и не смог от этого избавиться.
Dront (2006-10-12 12:08:00) [10]Да стоит FormStyle = fsStayOnTop, но моё окно - "не главная форма приложения", а здесь это не помогает
clickmaker (2006-10-12 12:05:00) [11]FormStyle = fsStayOnTop