C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
MediaPlayer или MCI, Проблема
vitavita
  Отправлено: 12.07.2004, 06:59


Дежурный стрелочник

Группа: Участник
Сообщений: 59



Уважаемые господа !
У меня возникли проблемы с компонентом MediaPlayer . Если коротко -суть проблемы в том ,что если свойство сделать MediaPlayer->Displey=Form1 (или выбрать любой другой контйнер) то происходит удивительная вещь — при переключении фокуса и деактвации приложения изображение может исчезать , т.е. например сработал сринсейвер или закрыл эту форму другим приложением,свернул программу и после этого на форме уже нет изображения — исчезает , остается голая форма.
Побившись с этим решил перейти напрямую к MCI.(рассмотрев vfw.h)
Попробовал- вот простой пример:
void __fastcall TForm1::FormShow(TObject *Sender)
{
HMCIWnd_=MCIWndCreate(Panel1->Handle, // application window handle
NULL, // instance handle
MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU|WS_VISIBLE | WS_CHILD | MCIWNDF_SHOWALL, // window styles
"Vidio.avi"); // filename

MCIWndPlay(HMCIWnd_);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Panel1DblClick(TObject *Sender)
{
MCIWndPlay(HMCIWnd_);
}
в этом случае уже ничего не исчезает при переключении фокуса и деактвации приложения .
Но ...! Panel1DblClick уже не работает ( на самой картинке)- все события на панели не действуют .
Как быть ? Как в MCI перехватить события мыши на экране ? Или исправить недостаток MediaPlayer .
Надо чтобы и изображение не исчезало при переключении и события на компоненте-контейнере перехватывались.
Буду очень признателен если подскажите выход.

Вернуться в Вопросы программирования в C++Builder