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

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

Наверх




Память: 0.48 MB
Время: 0.069 c
2-1170879979
niil
2007-02-07 23:26
2007.02.25
Событие onMouseDown для создаваемого в ран-тайме TTabSheet


15-1170395300
ZeroDivide
2007-02-02 08:48
2007.02.25
Какую стоит брать видяху под AGP: 7600GS или 1650Pro=1600XT?


2-1170935401
niil
2007-02-08 14:50
2007.02.25
Копии TabSheet в рантайме


4-1160804337
dreamse
2006-10-14 09:38
2007.02.25
SafeMode


15-1170320275
McSimm
2007-02-01 11:57
2007.02.25
Операционные системы. Разработка и реализация (+СD). 3-е изд.