![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форма (окно) сзади всех.. как сделать? [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. На счет иконок ты загнул!