我在用ActiveX的TShockwaveFlash的时候,当改变窗体大小的时候,TShockwaveFlash却不能……… 我在用ActiveX的TShockwaveFlash的时候,当改变窗体大小的时候,TShockwaveFlash却不能跟着改变,请问有什么方法可以改变TShockwaveFlash的大小总是充满整个窗体 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应在OnResize中去修改TShockwaveFlash的大小 我试着改变了TShockwaveFlash的大小,但是他播放的flash并不跟着刷新大小 加 shockwaveflash1.Hide; shockwaveflash1.Show; 也可以利用现成的方法SetZoomRect(int left, int top, int right, int bottom): 看我来吧 分都给我哦这里有个小技巧,就是用Button对Falsh控件发消息 至于为什么…… :(具体做法在Form上加一个最大化的Falsh控件,再加一个ButtonOK 解决procedure TFormFrontSelect.FormCreate(Sender: TObject);begin //***********************图片加载*******************************************// MainFlash.Movie:=FormMain.ApplicationPath+'images\FormMain\main.swf';end;procedure TFormFrontSelect.FormResize(Sender: TObject);begin SendMessage(Button1.Handle,wm_keydown,vk_space,1); SendMessage(Button1.handle,wm_keyup,vk_space,1); MainFlash.Refresh;end;procedure TFormFrontSelect.Button1Click(Sender: TObject);begin sendmessage(MainFlash.handle,wm_lbuttondown,0,0); sendmessage(MainFlash.handle,wm_lbuttonup,0,0);end; procedure TForm1.FormResize(Sender: TObject);begin button1.setfoucus;//改变大小的时候先让别的控件获得焦点,然后获得焦点就可以了。 shockwaveflash1.setfocus; end; 最简单的办法: ShockwaveFlash1: TShockwaveFlash; panelParent : TPanel; 用Panel包含Shockwave ActiveX控件,定义Panel的OnResize事件即可。 procedure TForm1.panelParentResize(Sender: TObject);begin shockwaveflash1.Width:=panelParent.Width; shockwaveflash1.Height:=panelParent.Height; shockwaveflash1.Hide; shockwaveflash1.Show; shockwaveflash1.SetFocus;end; 我遇到了同样的问题,同时我发现在窗体改变大小后,要用鼠标点一下shock控件一,它才能变成与窗体一样的大小,在vb下就没问题,郁闷! 你将form1.d***********这些字母忘了 。设为 True; 我用的是全屏,程序一进来就全屏,我可没发现闪烁的问题啊procedure TForm1.FormResize(Sender: TObject);begin shockwaveflash1.Width:=GetSystemMetrics(SM_CXSCREEN); shockwaveflash1.Height:=GetSystemMetrics(SM_CYSCREEN); shockwaveflash1.Hide; shockwaveflash1.Show; shockwaveflash1.SetFocus;end; 很简单,是另外的一个控件获得焦点就可以了,如:Panel1.SetFocus;ShockwaveFlash1.SetFocus; richedit问题 delphi 应用服务死机 怎么我的程序不能释放内存? wordapplication控件(如何打开一个指定路径的WORD文件),请教! 在DLL里显示调用模式窗体问题,解决马上结贴! 有关stringGrid问题! 简单 memo控件中,怎样使文本的高度超过这个控件的高度,自动显示下拉框 DELPHI调用VC编写的DLL问题 关于access中自动编号的问题?????? 如何编程使开始菜单中的"运行"和"关闭系统"项消失 请问如何得到窗体的按键信息 请教——还是字符串与类的问题
shockwaveflash1.Hide;
shockwaveflash1.Show;
SetZoomRect(int left, int top, int right, int bottom):
begin
//***********************图片加载*******************************************//
MainFlash.Movie:=FormMain.ApplicationPath+'images\FormMain\main.swf';
end;procedure TFormFrontSelect.FormResize(Sender: TObject);
begin
SendMessage(Button1.Handle,wm_keydown,vk_space,1);
SendMessage(Button1.handle,wm_keyup,vk_space,1);
MainFlash.Refresh;
end;procedure TFormFrontSelect.Button1Click(Sender: TObject);
begin
sendmessage(MainFlash.handle,wm_lbuttondown,0,0);
sendmessage(MainFlash.handle,wm_lbuttonup,0,0);
end;
begin
button1.setfoucus;
//改变大小的时候先让别的控件获得焦点,然后获得焦点就可以了。
shockwaveflash1.setfocus;
end;
ShockwaveFlash1: TShockwaveFlash;
panelParent : TPanel;
用Panel包含Shockwave ActiveX控件,定义Panel的OnResize事件即可。 procedure TForm1.panelParentResize(Sender: TObject);
begin
shockwaveflash1.Width:=panelParent.Width;
shockwaveflash1.Height:=panelParent.Height;
shockwaveflash1.Hide;
shockwaveflash1.Show;
shockwaveflash1.SetFocus;
end;
begin
shockwaveflash1.Width:=GetSystemMetrics(SM_CXSCREEN);
shockwaveflash1.Height:=GetSystemMetrics(SM_CYSCREEN);
shockwaveflash1.Hide;
shockwaveflash1.Show;
shockwaveflash1.SetFocus;
end;
Panel1.SetFocus;
ShockwaveFlash1.SetFocus;