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

Вниз

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

 
Rammst   (2002-03-19 06:17) [0]

Подскажите пожалуйста, как сделать так, чтобы программа была всегда поверх всех окон.


 
alexec   (2002-03-19 07:30) [1]

FormStyle := fsStayOnTop


 
Manulo ©   (2002-03-21 00:38) [2]

для alexec!!! НИФИГА!! :) Поверх DerextX приложений всё равно не лезет!!!


 
Song ©   (2002-03-21 09:11) [3]

Понятно, что не лезет. Свойство формы fsStayOnTop работает только относительно форм данного приложения.
Для остальных приложений нужно по другому. Поищите плиз по поиску. Только я отвечал на этот вопрос раз 10.


 
SPeller ©   (2002-03-21 13:02) [4]

Проверенный способ:

procedure TForm1.FormDeactivate(Sender: TObject);
var TopWnd:Longint;rc:TRect;
begin
TopWnd:=GetForegroundWindow;
IF TopWnd=Handle Then Exit;
GetWindowRect(TopWnd,rc);
SetWindowPos(TopWnd,HWND_TOP,rc.Left,rc.Top,rc.Right-rc.Left,rc.Bottom-rc.Top,SWP_NOSIZE);
SetWindowPos(Handle,HWND_TOPMOST,0,0,Width,Height,SWP_NOSIZE or SWP_SHOWWINDOW);
end;

Поясню если не знаешь.
Если вдруг какое-то окно вылезет поверх твоего, то
1) Получаем его хэндл
2) Если он равен хэндлу твоего окна, то выходим
3) Если нет, то перемещаем чужое окно поверх всех простых окон
4) Помещаем твое окно поверх всех других

Предварительно надо при первом показе формы сделать следущее:
SetWindowPos(Handle,HWND_TOPMOST,0,0,Width,Height,0);

Если событие FormDeActivate не происходит при потере фокуса, то
Application.OnDeactivate:=FormDeactivate;



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
1-73147
Kid_a
2002-05-13 18:57
2002.05.23
DrawGrid


1-73312
Tosha_a
2002-05-11 19:43
2002.05.23
как вызвать процедуру одного класса в функции другого?


3-73002
Oleg_er
2002-04-25 15:21
2002.05.23
Округление в select dig1-dig2


6-73348
Yuraz
2002-03-07 15:15
2002.05.23
Как остановить программу, долго дожидающая ответа от сервера


14-73360
VID
2002-04-13 20:25
2002.05.23
Что то EXE не запускаются ...