![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вывод текста [D6, Win95/98, Win2k]
reticon © (2003-03-15 18:04:00)Здравствуйте мастера!
Проблема в следующем:
Имеется компонент TMediaPlayer, который выводит видео на компонент TPanel
MediaPlayer1.Display:=panel1;
MediaPlayer1.DisplayRect:=Rect(0, 0, Form2.Panel1.Width, Form2.Panel1.Height);
MediaPlayer1.Play;
т.е. в полноэкранном режиме.
Вопрос: можно ли как-нибудь вывести текст поверх видео, причем, чтобы фон у этого текста был именно видео, которое проигрывается,
а не фон компонента (например StaticText)?
Kair (2003-03-23 21:09:00) [1]Добавить в проект ещё одну форму, сделав её прозрачной,
и кинуть на неё лабель. Ну и показать форму.
Сделать форму прозрачной можно, например, так:
with Form2 do
begin
Color:=clBlack;
TransParentColorValue:=clBlack;
TransParentColor:=true;
end;
НО! На одной машине форма может быть прозрачной,
а на другой - нет.
Причины такого поведения формы мне не известны.
(у меня Win2k, Delphi 6)
Rem (2003-03-23 16:30:00) [2]Это чтобы мешать конечному пользователю наслаждаться видео? ;)
Тогда компонентами, порожденными от TGraphicControl, воспользоваться не получится. Они прорисовываются с использованием контекста устройства Parent"а.
Но можно на Panel1 (в примере) разместить другую панель (а лучше свой компонент, порожденный от TCustomControl), создать Region по контуру текста, и... SetWindowRgn
reticon (2003-03-23 15:54:00) [3]2Kair
А можно поподробнее?
Kair (2003-03-22 21:04:00) [4]Можно использовать вторую прозрачную форму и на неё кинуть Лабель
reticon (2003-03-17 16:07:00) [5]стандартные компонеты (TLabel, TStaticText) не подходят, их не видно поверх видео
Дмитрий К.К. (2003-03-17 11:12:00) [6]Кинь TLabel, у него же имеетси свойство Transparent.
reticon (2003-03-17 09:40:00) [7]неужели никто не знает, или я не точно поставил вопрос?