Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-99768
ИМХО
2003-12-06 11:47
2003.12.30
Теория создания chm-файлов


1-99631
Big Error
2003-12-16 00:11
2003.12.30
глюк в родном TComboBox?


4-99813
Suharew
2003-11-01 23:55
2003.12.30
CreateProcess


1-99557
Intro
2003-12-17 23:42
2003.12.30
Как подключить принтер?


7-99800
Talla2k
2003-10-23 01:49
2003.12.30
тормоза потока





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский