Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

Как сделать так чтобы моя форма была всегда поверх всех окон?   Найти похожие ветки 

 
тринитротолуол ©   (2005-09-25 19:12) [0]

собственна сабж


 
ssk ©   (2005-09-25 19:18) [1]

StayOnTop ?


 
тринитротолуол ©   (2005-09-25 20:05) [2]

тобишь окно программы было поверх всех окон


 
begin...end ©   (2005-09-25 20:08) [3]

SetWindowPos + WM_WINDOWPOSCHANGING


 
Eraser ©   (2005-09-25 23:00) [4]


> тринитротолуол ©   (25.09.05 19:12)

   procedure CreateParams(var Params: TCreateParams); override;
...
procedure TfmMain.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.WndParent := GetDesktopWindow;
 Params.ExStyle := Params.ExStyle and not WS_EX_APPWINDOW or WS_EX_TOOLWINDOW;
end;

а потом регулируй стилем StayOnTop.


 
Vitaliy   (2005-09-26 07:05) [5]

Если на все время надо, можно в свойствах формы указать параметр FormStyle равный fsStayOnTop.


 
evvcom ©   (2005-09-26 08:52) [6]


> Как сделать так чтобы моя форма была всегда поверх всех
> окон?

В такой формулировке никак. Представь, что в системе нашелся еще один умник и тоже сделал такое окно. Эти 2 окна перекрывают друг друга. Какое теперь из них должно быть поверх всех?


 
vertal ©   (2005-09-27 03:07) [7]


procedure TfmMain.SetAlwaysOnTop(const NewValue: Boolean);
begin
 SetWindowPos(Self.Handle, IfThen(NewValue, HWND_TOPMOST, HWND_NOTOPMOST), 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
 fAlwaysOnTop := NewValue;
 Self.miAlwaysOnTop.Checked := fAlwaysOnTop;
end;

А если имеется в виду всегда OnTop, даже по отношению к другим окнам со стилем HWND_TOPMOST, то стоит отказаться от этого, так как не полагается программе так нагло себя вести, хотя если абсолютно необходимо, то можно попробовать ловить сообщения активации окон.


 
evvcom ©   (2005-09-27 14:03) [8]


> хотя если абсолютно необходимо, то можно попробовать ловить
> сообщения активации окон

А если 2 таких окна будут ловить сообщения? См. [6].



Страницы: 1 вся ветка

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-1127987347
Oleg_
2005-09-29 13:49
2005.10.23
ME виснет при подгрузке BMP


2-1127661167
тринитротолуол
2005-09-25 19:12
2005.10.23
Как сделать так чтобы моя форма была всегда поверх всех окон?


3-1126085667
2bj
2005-09-07 13:34
2005.10.23
переход фокуса между компонентами на DBCtrlGrid-е


1-1127974527
Ascan
2005-09-29 10:15
2005.10.23
Символ сортировки на Title колонки Grid


4-1124713454
Delphi_is_cool
2005-08-22 16:24
2005.10.23
Как установить интервал таймера 1 микросекунда