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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
3-1077630209
SM
2004-02-24 16:43
2004.03.28
Ув. мастера, как в IB создать кальк. поле с отсечением дроб. част


3-1077868815
ildar
2004-02-27 11:00
2004.03.28
Как узнать значение выделенной ячейки DBGrid?


8-1069662046
EvgenT
2003-11-24 11:20
2004.03.28
Реализовать быстрое преобразование Фурье


1-1078469102
Alex_DM
2004-03-05 09:45
2004.03.28
Вызов модального окна. Возможно ли это?


1-1078842668
akosko
2004-03-09 17:31
2004.03.28
Многоязыковая поддержка