用C++builder 制作flash播放器的几个细节问题
作者:闪电侠
用C++builder可以导入ShockwaveFlash控件制作flash播放器,具体过程参考其他文章,本文简单说一下制作中的小问题。
1.ShockwaveFlash的Aligh属性设为alClient,Form变化大小时ShockwaveFlash不能相应的变化。
解决方法:
在Form的OnResize事件中添加代码,具体如下:
ActiveControl=NULL;
ActiveControl=ShockwaveFlash1;
2.播放的flash的背景色为上次播放影片的背景色,(第一次播放除外)。
解决方法:
在flash载入影片前添加代码:
ShockwaveFlash1->BGColor="0";
然后ShockwaveFlash1->Movie=......
3.在flash上点鼠标右键,不弹出自己指定的菜单,而是flash自已的菜单。
解决方法:
采用TApplicationEvents控件(Additional页) 在它的OnMessage里加代码,具体如下
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if(Msg.message==WM_RBUTTONDOWN && Msg.hwnd==ShockwaveFlash1->Handle)
{
Handled=true;
PopupMenu1->Popup(Msg.pt.x,Msg.pt.y);
}
}
ShockwaveFlash1为flash控件,PopupMenu1为右键要弹出的菜单