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

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

Как создавать визуальные объекты не на форме, а на десктопе?


h0use ©   (2003-10-31 09:56:00) 

Уважаемые мастера, подскожите как создавать визуальные объекты (например,TLabel) напрямую на десктопе и не создавать форму. Надо для того чтоб создать меню типа OSD у телевизора.


h0use   (2003-11-03 15:06:00) [1]

Нет , над ними


Геннадий   (2003-11-03 14:08:00) [2]


> Demetrius2003 © (31.10.03 19:17) [10]
> Держи, и наслаждайся :))))
> h := FindWindow("Progman", nil);
> h2 := FindWindowEx(h, 0, "SHELLDLL_defView", nil);
> h:=GetWindow(h2,GW_CHILD);
>
> Static1:=TStatictext.Create(self);
> static1.Caption:="Hello World";
> static1.Left:=100;
> static1.Top:=100;
> static1.ParentWindow:=h;
> static1.Visible:=true;


Я правильно понял, надпись на Рабочем столе будет ПОД иконками?


h0use   (2003-11-03 12:19:00) [3]

И еще один минус, так как таким способом мы пишем на окне дестопа, полчается, что все окна будут поверх, а для решения задачи создания OSD меню, нужно чтоб было наоборот, чтоб оно было поверх всех окон.


h0use   (2003-11-03 12:02:00) [4]

Т.е. получается, что твой код работает только когда загружен explorer, а если я использую другой софт как оболочку?


Demetrius2003   (2003-10-31 19:17:00) [5]

Держи, и наслаждайся :))))
h := FindWindow("Progman", nil);
h2 := FindWindowEx(h, 0, "SHELLDLL_defView", nil);
h:=GetWindow(h2,GW_CHILD);

Static1:=TStatictext.Create(self);
static1.Caption:="Hello World";
static1.Left:=100;
static1.Top:=100;
static1.ParentWindow:=h;
static1.Visible:=true;


h0use   (2003-10-31 17:07:00) [6]


> <SammIk> (31.10.03 17:01) [8]
> Встраиваешься в процесс и создаешь что тебе надо

А подробней...или ссылку где почитать.


SammIk   (2003-10-31 17:01:00) [7]

Встраиваешься в процесс и создаешь что тебе надо


h0use   (2003-10-31 15:10:00) [8]

Короче я научился через TCanvas напрямую на десктопе писать, НО если какая-то форма двинется под надписью, то текст написанный на ней тоже движется, а как сделать так. Видимо надо создать layer на котором и писать, но как это сделать на Делфи?


Opuhshii   (2003-10-31 14:52:00) [9]

аналоги TLabel,,,
TStaticText (на закладке Additional)


удачи,..


h0use   (2003-10-31 11:05:00) [10]

мне главное врубиться, это я делаю быстро...дальше я сам. Пока я создаю прозрачную форму, но тормоза при криейте.


Игорь Шевченко   (2003-10-31 11:00:00) [11]

h0use © (31.10.03 10:54)

IMHO, рано при таком уровне знаний за такие задачи браться.


h0use   (2003-10-31 10:54:00) [12]


> Плохиш_ (31.10.03 10:45) [2]
> >h0use © (31.10.03 09:56)
>
> Может лучше прозрачную форму создать?

Я думал об этом, но считаю что даже прозрачный, но канвас она рисует, а если рисует, то в 1200х1024 на весь экран - это будут тормоза на создании, потом я сомневаюсь, что форма будет рисоваться поверх оверлейного вывода (например, когда кино на весь экран смотришь).

А где взять имена всех наследников от TWinControl? Мне нужны аналоги TLabel


Плохиш_   (2003-10-31 10:45:00) [13]

>h0use © (31.10.03 09:56)

Может лучше прозрачную форму создать?


Игорь Шевченко   (2003-10-31 10:38:00) [14]

Типа TLabel - не получится.
Типа наследников TWinControl - использовать метод CreateParented


Наверх

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