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

Форма всегда поверх рабочего стола   Найти похожие ветки 

← →
Грибоед   (2006-12-28 23:06) [0]

Нужно сделать так чтобы главная форма приложения всегда находилась поверх рабочего стола и не сворачивалась при нажатии кнопки "свернуть все окна", а так же не выходила на передний план, когда пользователь делает её активной. То есть, попросту говоря, форма всегда должна висеть над рабочим столом ниже всех окон и не сворачивается в панель задач.

Подскажите, как можно подобное реализовать?


← →
GrayFace ©   (2006-12-29 13:25) [1]

Попробуй поместить внутрь рабочего стола:
windows.SetParent(Handle, FindWindow("Progman", nil));


← →
Elen ©   (2006-12-29 16:03) [2]


> Попробуй поместить внутрь рабочего стола:

... и запретить кнопки сворачивания ;)


← →
Грибоед   (2007-01-06 18:11) [3]

Мне удалось найти решение...

Форма всегда ниже всех окон:


 protected
     procedure WndProc(var Message:TMessage); override;

 ...

procedure TForm1.WndProc(var Message: TMessage);
begin
if Message.Msg = WM_WINDOWPOSCHANGING then begin
 with PWindowPos(Message.lParam)^ do begin
   if FormStyle = fsStayOnTop then hwndInsertAfter := HWND_TOPMOST
     else hwndInsertAfter := HWND_BOTTOM;
 end;
end;
inherited;
end;


Запрещаем сворачивание формы при нажатии кнопки "Свернуть все окна":


Windows.SetParent(Form1.Handle, FindWindowEx(FindWindowEx(FindWindowEx(GetDesktopWindow,  0,"Progman","Program Manager"), 0, "SHELLDLL_DefView", nil), 0, "SysListView32", nil));


← →
antonn ©   (2007-01-06 22:08) [4]

Грибоед   (06.01.07 18:11) [3]
Windows.SetParent(Form1.Handle, FindWindowEx(FindWindowEx(FindWindowEx(GetDesktopWindow,  0,"Progman","Program Manager"), 0, "SHELLDLL_DefView", nil), 0, "SysListView32", nil));

останется отработать случай, когда explorer перезагрузится:)


← →
Грибоед   (2007-01-07 03:02) [5]

> останется отработать случай, когда explorer перезагрузится:)

А как узнать что explorer перезагрузился?



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

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



Память: 0.46 MB
Время: 0.027 c
2-1170006217
познающий
2007-01-28 20:43
2007.02.25
Русский текст в анг. винде


2-1170843383
opoloXAI
2007-02-07 13:16
2007.02.25
"Сканер" реестра.


15-1170606291
Calibr
2007-02-04 19:24
2007.02.25
JavaScript


1-1167637323
tio
2007-01-01 10:42
2007.02.25
Полигоны


15-1169002710
PhysY
2007-01-17 05:58
2007.02.25
Как рассчитывается физика в физ. движках?




   Наверх