![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заставить 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-ролик?