Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.30;
Скачать: CL | DM;

Вниз

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

 
h0use ©   (2003-10-31 09:56) [0]

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


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

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


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

>h0use © (31.10.03 09:56)

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


 
h0use ©   (2003-10-31 10:54) [3]


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

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

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


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

h0use © (31.10.03 10:54)

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


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

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


 
Opuhshii ©   (2003-10-31 14:52) [6]

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


удачи,..


 
h0use ©   (2003-10-31 15:10) [7]

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


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

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


 
h0use ©   (2003-10-31 17:07) [9]


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

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


 
Demetrius2003 ©   (2003-10-31 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:02) [11]

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


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

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


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


> 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 15:06) [14]

Нет , над ними



Страницы: 1 вся ветка

Текущий архив: 2003.12.30;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
8-99660
Shadow[AN]
2003-08-29 13:32
2003.12.30
OGG Vorbies проигрыватель


3-99433
Гость22
2003-12-06 20:09
2003.12.30
Расскажите об ADO! Где почитать на русском?


1-99535
MPS
2003-12-16 13:36
2003.12.30
Как получить значение sin в градусах?


1-99610
mRodion
2003-12-15 17:53
2003.12.30
PageControl: скрыть заголовок закладки


14-99746
Шишкин Илья
2003-12-04 16:21
2003.12.30
Помогите проверить работоспосоность