Главная страница
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.49 MB
Время: 0.018 c
4-99809
PolarS
2003-10-24 15:20
2003.12.30
Запуск программы на удаленной машине.


4-99820
Likkers
2003-11-02 10:47
2003.12.30
Как узнать прижат ли шифт в данный момент


1-99640
Kelegorm
2003-12-16 14:59
2003.12.30
Отображение текста и формулы в одном месте. Срочно!


3-99439
moyavital
2003-12-06 13:54
2003.12.30
Функция Lower в FireBird


14-99701
Артем
2003-12-05 17:23
2003.12.30
Программирование на ноутбуках