Вниз
Скачать: 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.029 c
3-1165219124
Монг
2006-12-04 10:58
2007.02.25
Проблема с компонентом cxDBLookupComboBox.


15-1170418278
DVM
2007-02-02 15:11
2007.02.25
Самый быстрый алгоритм шифрования.


15-1170388196
Slider007
2007-02-02 06:49
2007.02.25
С днем рождения ! 2 февраля


2-1170789587
MSTeam
2007-02-06 22:19
2007.02.25
1 экземпляр


15-1169537324
MsGuns
2007-01-23 10:28
2007.02.25
Выдвижная из стола клавиатура




   Наверх