Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Форма (окно) сзади всех.. как сделать? [D6, WinME, Win2k]


SergP ©   (2005-09-08 01:11:00) 

Нужно чтобы окно было сзади всех окон, причем даже сзади иконок на рабочем столе... Как это можно сделать?


DVM   (2005-09-08 10:19:00) [1]


> Вроде бы почти то, но хотелось бы все-таки позади иконок...

Ты что серьезно полагаешь, что иконки сами по себе лежат на поверхности десктопа? И под них можно "подсунуть окно"?
Это у эксплорера в ListView содержащем иконки фон отрисовывается такой же как на десктопе и даже если ты подсунешь свое окно под ListView, последний, отрисовывая свой фон "замажет" изображение твоего окна.


DVM   (2005-09-08 10:16:00) [2]

SetShellWindow()


Slym   (2005-09-08 08:08:00) [3]

Хук на WM_PAINT и прочий WM и рисуй прямо не десктопе.


SergP   (2005-09-08 07:33:00) [4]

Ну тогда хоть подскажите с помощью чего можно такое сделать....


SergP   (2005-09-08 07:32:00) [5]

Ну тогда хоть подскажите с помощью чего можно такое сделать....


SergP   (2005-09-08 01:36:00) [6]


>  [1] GanibalLector ©   (08.09.05 01:20)


Пробовал это... На Delphiworld находил....
Вроде бы почти то, но хотелось бы все-таки позади иконок...


> P.S. На счет иконок ты загнул!


неужели невозможно?

Хочу чтобы на рабочем столе поверх обоев высвечивались всякие полезные надписи, типа напоминания и т.п., но чтобы при этом не мешали работе, поэтому и нужно позади иконок...


GanibalLector   (2005-09-08 01:20:00) [7]


protected
 procedure CreateParams(var Params: TCreateParams); override;

//...

procedure TForm.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 if Assigned(Application.MainForm) then
 begin
   Params.WndParent := GetDesktopWindow;
   Params.Style := WS_CHILD;
 end;
end;
//Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php


P.S. На счет иконок ты загнул!


Наверх

Титульная страница Поиск, карта сайта Написать письмо