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

Окно в качестве фона   Найти похожие ветки 

 
xobbit   (2004-03-08 22:47) [0]

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


 
YurikGl ©   (2004-03-08 22:53) [1]

FormMaim.FormStyle:=fsMDIForm
остальные := fsMDIChild


 
xobbit   (2004-03-08 23:03) [2]

Да, но это в случае окон одной программы.. А как сделать окно фоновым для всех? - вроде эдакого рабочего стола..


 
YurikGl ©   (2004-03-08 23:30) [3]

Можешь подменить рабочий стол ActiveX компонентом. Был такой вирус, который запихивал в папки файл с каким-то расширением (каким не помню). Он (файл) обеспечивал фон папки. Может из мастеров кто подскажет.
З.Ы. Вирус, кроме фона еще и комп вешал.


 
xobbit   (2004-03-09 03:29) [4]

Нашел следующий вариант:
"Для этого достаточно висеть на WM_ACTIVATE и при активации окна помещать последнее вниз Z-order"а:

SetWindowPos(
Handle, // здесь указать хэндл окна формы
HWND_BOTTOM,
0, 0, 0, 0,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE or SWP_NOREDRAW);
",
но он почему-то не работает :( В чем может быть загвоздка?


 
Юрий Зотов ©   (2004-03-09 09:07) [5]

type
 TForm1 = class(TForm)
   procedure FormShow(Sender: TObject); // OnShow
 private
   FFlag: boolean;
   procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
 end;

procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
 if FFlag then with Message.WindowPos^ do
   flags := flags or SWP_NOZORDER;
 inherited
end;

procedure TForm1.FormShow(Sender: TObject); // OnShow
begin
 SetWindowPos(Handle, HWND_BOTTOM, Left, Top, Width, Height,
   SWP_NOACTIVATE or SWP_SHOWWINDOW);
 FFlag := True
end;


 
xobbit   (2004-03-10 01:03) [6]

С последним вариантом все вполне получилось, хотя вылез такой глюк:
Окна которые я хочу свернуть не сворачиваются, а просто теряют фокус. Вот.. Где копать?



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

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



Память: 0.46 MB
Время: -0.97 c
14-1078346916
Dimedrol
2004-03-03 23:48
2004.03.28
Обучалка по Excel-у


8-1069350679
aleksvz
2003-11-20 20:51
2004.03.28
MIDI


3-1077782258
Alex*
2004-02-26 10:57
2004.03.28
Как пользоваться командой DbiPackTable


1-1079069069
Layner
2004-03-12 08:24
2004.03.28
Мастера, подскажите, как повесить "горячую клавишу" на процедуру.


11-1056787866
mox
2003-06-28 12:11
2004.03.28
Timer




   Наверх