| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 08.04.2002
Адрес: Estonia
Сообщения: 258
![]() |
Flash + Delphi (а точнее - передача параметров)
Вобщем....возник такой вопрос...в нете сколько не искал...никак не могу ничего найти....=\ одна-две статьи....не больше....только что по разным сайтам раскиданы...да и то не о том....
Вобщем...что собственно надо: передать параметры (при нажатии на кнопку во флэшке) в Дельфи...во Флэше есть какой-то оператор...вот я никак не могу найти его....=\
__________________
-Тут была реклама-
|
|
|
|
|
# 2 |
|
Member
Регистрация: 08.04.2002
Адрес: Estonia
Сообщения: 258
![]() |
ну вот.....покопался ещё чуток и нашёл-таки кое-что...=)
Если, вдруг, у когонибудь возникнет подобный вопрос....ответ тут - http://spravkaweb.h1.ru/flash.php?ss=12 а точнее - функция fscommand ...=)сори, что поторопился с постом...=)
__________________
-Тут была реклама-
|
|
|
|
|
# 3 |
|
Member
Регистрация: 21.07.2003
Адрес: AngelCITY
Сообщения: 209
![]() |
вопрос по использованию флеша в проектах дельфи.
я импортировал активХ объект, у меня появилсяч компонент TShockwaveFlash - работаю с ним - все гут. но вот беда. использую один компонент чтобы подгружать во время работы в него разные мувики.... так при подгрузке мувика размером отличным от размера компонента на момент создания формы этот самый мувик продолжает отображацца этим первоначальным размером, даже если изменить размер компонента вручную и выставить опции масштабирования..... пример: - при создании формы компонент имеет размеры 44 на 44 - мувики размером 44 на 44 грузяцца и отображаюцца отлично - надо подгрузить мувик 100 на 100: я меняю размер компонента на 100 на 100, назначаю мувик или делаю LoadMovie - а он всеравно ужимаецца (масштабируецца) до размера 44 на 44! и отображаецца по верхнему левому углу..... как решить трабл7 надо чтобы при изменении размера компонента мувик масштабировался вслед за ним. он этого не делает - сохраняет размеры заданные при создании формы. менял опции масштабирования - там есть ExactFit ShowAll NoResize NoBorder - все фигня, мувик крутицца и масштабируецца в первоначальных размерах.... ( хелп, надо на выхах уже решение..... |
|
|
|
|
# 6 |
|
Member
Регистрация: 21.07.2003
Адрес: AngelCITY
Сообщения: 209
![]() |
попробовал - не помогает..... ((
повторюсь - мувик ресайзицца только после клика по нему.... вот код на всякий случай - может поможет что.... panButton - это контейнер для TShockWave компонента swfButton - простая панелька.... Код:
procedure TfmNitro.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var cp: TPoint; i: integer; s: string;
begin
case msg.message of
WM_LBUTTONUP : if FHover <> 0 then begin panButton.Visible:= false; swfButton.StopPlay;
FCommand:= hextoint(leftstr(extractfilename(swfButton.Movie),8)) - hextoint(appset.sett[ 1]);
if FCommand > 1 then begin appSet.State.Add(leftstr(extractfilename(swfButton.Movie),8));
LoadFrame;
end;
end;
WM_MOUSEMOVE : begin getcursorpos(cp); FHover:= 0;
for i:= 1 to hextoint(appset.sett[ 4]) do
if (cp.X > hextoint(appset.sett[1+5*i]) + ScreenLeft)
and (cp.X < hextoint(appset.sett[1+5*i]) + ScreenLeft + hextoint(appset.sett[1+5*i+2]))
and (cp.Y > hextoint(appset.sett[2+5*i]) + ScreenTop)
and (cp.Y < hextoint(appset.sett[2+5*i]) + ScreenTop + hextoint(appset.sett[2+5*i+2]))
and (backSFW.CurrentFrame+1 = backSFW.TotalFrames)
then FHover:= i; //swfButton.Perform(msg.message, VK_SELECT, msg.lParam); end;
end;
end;
end;
Код:
procedure TfmNitro.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
var cp: tpoint; j, k: cardinal; s, t: string;
begin
//-----------------------------------------------------------------------------
j:= 0; for k:= 0 to AppSet.State.Count - 1 do j:= j + HexToInt(AppSet.State[ k]);
j:= j - HexToInt(AppSet.State[ 0]); s:= IntToHex(j, 8); AppSet.State[ 0]:= AppSet.Sett[ 0]; t:= s;
//-----------------------------------------------------------------------------
if FHover <> 0
then begin
getcursorpos(cp);
with panButton do begin
SendToBack; swfButton.StopPlay;
width := hextoint(appset.sett[1+5*FHover+2]);
height := hextoint(appset.sett[2+5*FHover+2]);
Left := hextoint(appset.sett[1+5*FHover]) + ScreenLeft;
Top := hextoint(appset.sett[2+5*FHover]) + ScreenTop;
if FileExists(appSet.media + s + '\' + appset.sett[5*FHover] + '.swf') then s:= appset.media + s + '\' + appset.sett[5*FHover] + '.swf';
if FileExists(appset.media + s + '\' + appset.sett[5*FHover] + '.jpg') then s:= appset.media + s + '\' + appset.sett[5*FHover] + '.jpg';
swfButton.LoadMovie(0, s);
swfButton.Play; Visible:= true; BringToFront;
end; end else begin swfButton.StopPlay; swfButton.FrameNum:= 0; end;
end;
добавлено через 2 минуты в процедуре LoadFrame никаких действий по отношению к swfButton не производицца..... насчет масштабирования - у этого компонента свои специфичные свойства - ScaleMode например. выставлено в ExactFit или ShowAll - те по идее - растягивать мувик забив на пропорции или умещать пропорционально по малой стороне компонента.... толку - ноль, автоматическое масштабирование не происходит..... Последний раз редактировалось m-AAA-d; 16.12.2007 в 04:14. |
|
|