Форум: "WinAPI";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизКак создавать визуальные объекты не на форме, а на десктопе? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c