Вниз
Скачать: CL | DM;

Форма поверх всех окон   Найти похожие ветки 

← →
Stalker01 ©   (2005-07-07 17:50) [0]

Как сделать форму, которая была бы поверх ВСЕХ остальных окон, делал sfStayOnTop, но при загрузки некоторых приложений, особено игр, форма все равно была под ними. Заранее спасибо.


← →
Алхимик ©   (2005-07-07 17:52) [1]

А что будет если запустить ДВЕ программы , формы которых должны быть поверх ВСЕХ остальных окон? Что то типа Царь горы? :)


← →
TUser ©   (2005-07-07 18:01) [2]

По таймеру делай Show.


← →
begin...end ©   (2005-07-07 18:05) [3]

WM_WINDOWPOSCHANGING отлавливать не поможет?


← →
Stalker01 ©   (2005-07-07 18:54) [4]


> TUser ©

Не помогает

> begin...end ©  

А можно подробнее?


← →
TUser ©   (2005-07-07 18:59) [5]

> Не помогает

А мне помогает. Честное слово!


← →
DiamondShark ©   (2005-07-07 19:03) [6]


> Алхимик ©   (07.07.05 17:52) [1]

Что будет если всесокрушающий снаряд попадёт в абсолютно непробиваемую стену?
Типа того.


← →
begin...end ©   (2005-07-07 21:12) [7]

> Stalker01 ©   (07.07.05 18:54) [4]
> А можно подробнее?

Я не знаю, корректно так делать или нет, но попробовать можно.

Вначале делаем SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_SHOWWINDOW). А потом обрабатываем сообщение WM_WINDOWPOSCHANGING. Для этого в код формы нужно добавить обработчик:

type
 TForm1 = class(TForm)
 ...
 private
   procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
 ...
 end;

procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
 inherited;
 Message.WindowPos.hwndInsertAfter := HWND_TOPMOST
end.


← →
Stalker01 ©   (2005-07-08 14:30) [8]

2begin...end
Идею понял, но у мня при этом на некоторых приложениях комп зависал, поэтому я сделал SetWindowPos на таймер, конечно некрасиво, зато работает.
Проблема в том, что моя форма выводиться поверх всех окон, но если имеется окно с частой перерисовкой (например игра), то моя форма просто зарисовываеться, графикой этого окна, хоть и находиться сверху. Пробовал делать по таймеру Repaint формы, но при этом она очень сильно мерцает, можно ли решить данную проблему?



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1120821169
Qwertyk
2005-07-08 15:12
2005.07.25
Word и картинки


1-1120544996
vitge
2005-07-05 10:29
2005.07.25
Нужно определить количество часов заключенных в ТDATETIME


1-1120559338
Juice
2005-07-05 14:28
2005.07.25
Шаблоны в Delphi ?


1-1120511944
Велосипед
2005-07-05 01:19
2005.07.25
Как на Canvas е писать текст под углом ?


1-1120633980
DeepProg
2005-07-06 11:13
2005.07.25
Передача данных из модельной формы в главную




   Наверх