Главная страница
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.06 c
2-1171019204
kot_michael
2007-02-09 14:06
2007.02.25
Добавление пользователей в AD


11-1149511993
shalex
2006-06-05 16:53
2007.02.25
Как изменить свойства ListBox в run time?


2-1170941650
niil
2007-02-08 16:34
2007.02.25
Загрузка картинки в Image из интернета


3-1164017082
Бульбаш
2006-11-20 13:04
2007.02.25
Коннект через ODAC к OracleXE


1-1167572092
Nick-123
2006-12-31 16:34
2007.02.25
Проблема с классами