Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заставить Flash перерисовывать себя при отображении [D7, Win95/98, Win2k, WinXP]


П7 ©   (2004-07-27 15:39:00) 

Собственно пишу:

var
 Flash : TShockwaveFlash;
begin
 Flash.Left := 0;
 Flash.Top := 0;
 Flash.Width := ClientWidth;
 Flash.Height := ClientHeight;

 Flash.Movie := SwfFilePath;
 Flash.Play();


Ролик из одного кадра. В итге он рисуется такого размера, какого был VCL Flash при редактировании формы. Если кликнуть по Flash, то он перерисуется в нормальном размере.

Сабж.


П7   (2004-07-29 10:00:00) [1]


> Аним   (28.07.04 17:37) [11]

Преогромное спасибо!!! (: Всё работает.

Кстати, продумана даже такая мелоч -> Если не "патчить" класс и поставить параметр Menu равным false, то показывается урезанная менюшка. Это понятно. Но если "пропатчить" класс, но оставить параметр Menu равным true, то событие с "обрезанием" вывода менюшки не страбатывает. Только если поставить Menu равнм false - нифига не показывается, иначе - всё работает. Что собственно и нужно было!!! (: Полный контроль над воспроизведением. (:


Zevs   (2004-07-28 20:11:00) [2]

Смотри исходник TShockwaveFlashEx на www.delphiflash.com
Он лежит там в каком то пакедже.


Аним   (2004-07-28 17:37:00) [3]


> П7   (28.07.04 16:40) [9]


читай почту.


Аним   (2004-07-28 17:37:00) [4]


> П7   (28.07.04 16:40) [9]


читай почту.


П7   (2004-07-28 16:40:00) [5]


> Sapersky   (28.07.04 12:54) [8]

Это куда нужно вставить? До Flash.Play(); или после?


> Аним   (28.07.04 12:19) [7]

Странно... Он у меня вообще не страбатывает. Не только левая клавиша мыши, но и вообще любое сообщение... ):


Sapersky   (2004-07-28 12:54:00) [6]

Но неужели это единственный способ?

Flash.DoObjectVerb(-1);


Аним   (2004-07-28 12:19:00) [7]

Ты поставил компонент TApplicationEvents на форму c панели Additional, и прописал в эвенсе OnMessage то что я написал?


>  if msg.message = WM_RBUTTONDOWN then
>    Handled := True;


и не пашет?!
у меня пашет

p.s.
не пахать не может


П7   (2004-07-28 09:18:00) [8]


> Аним   (27.07.04 19:16) [5]

Сделал как ты написал. Событие не срабатывает. Может TApplicationEvents нужно как-то к форме прикрутить? Или компоненту TShockwaveFlash?


Аним   (2004-07-27 19:16:00) [9]


> как заблокировать нажатие правой кнопки мыши, чтобы менюшка
> не вызывалась?


Поставь TApplicationEvents и обработай мессагу:

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
 if msg.message = WM_RBUTTONDOWN then
   Handled := True;
end;


VMcL   (2004-07-27 18:33:00) [10]

>> П7   (27.07.04 17:30) [3]

> Кстати, не знаешь, как заблокировать нажатие правой кнопки мыши, чтобы менюшка не вызывалась?

Я не знаю.


П7   (2004-07-27 17:30:00) [11]

Спасибо, помогло. Но неужели это единственный способ?
Кстати, не знаешь, как заблокировать нажатие правой кнопки мыши, чтобы менюшка не вызывалась?


VMcL   (2004-07-27 17:24:00) [12]

Попробуй так:

procedure TAppForm.FormResize(Sender: TObject);
begin
 КакойТоДругойКонтрол.SetFocus;
 Flash.SetFocus;
end;


П7   (2004-07-27 17:14:00) [13]

Неужели никто не вставлял в свою программу Flash-ролик?


Наверх

Титульная страница Поиск, карта сайта Написать письмо