Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.037 c
4-1117339254
dEd
2005-05-29 08:00
2005.07.25
Как очистить очередь сообщений приложения?


1-1120500364
alexa
2005-07-04 22:06
2005.07.25
Копии форм


14-1120423282
Knight
2005-07-04 00:41
2005.07.25
Ё-хо!!! У меня погасла иконка "Сетевой кабель не подключен" !!!


3-1118726329
analyzer
2005-06-14 09:18
2005.07.25
Блокировка операций изменения данных


1-1120744238
Stalker01
2005-07-07 17:50
2005.07.25
Форма поверх всех окон