在编写程序中需要加入一个flash,m_ctrlflash为加入的变量。加载没有共,无法生成EXE,请大侠给点意见啊???
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"Flash动画文件(*.swf)|(*.swf)||",NULL);
m_ctrlflash.LoadMovie(0,"C:\\Documents and Settings\\Administrator\\桌面\\island.swf");
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"Flash动画文件(*.swf)|(*.swf)||",NULL);
m_ctrlflash.LoadMovie(0,"C:\\Documents and Settings\\Administrator\\桌面\\island.swf");
class CFlash : public CDialog
{ ……public:
//------------Flash文件---------------
char PathName[255];// 保存flash文件名
void FlashRun(); //*.swf文件运行
void FlashPause(); //*.swf文件暂停
void FlashStop(); //*.swf文件停止
long lMSEL; //定义总的播放毫秒数
long CurrentNum; //保存当前的帧数CurrentFrame()
// long CMSEL; //定义当前的已经播放的时间
……
}在Flash.cpp中long i_TotalNum=0; //保存总帧数GetTotalFrames()
long CMSEL=0; //定义当前的已经播放的时间//--------------*.swf----
void CFlash::FlashRun()
{
long state=0;
UpdateData(FALSE);
CMSEL=0;//定义当前的已经播放的时间CurrentNum=0;
m_FlashOCX.LoadMovie(0,PathName);
state=m_FlashOCX.GetReadyState();
m_FlashOCX.Zoom(0);//还原大小,显示全部的内容// long lMSEL=0; //定义总的播放毫秒数
if(state==4)
{
m_FlashOCX.GotoFrame(0);
CurrentNum=m_FlashOCX.CurrentFrame();
i_TotalNum=m_FlashOCX.GetTotalFrames();
m_FlashOCX.GotoFrame(CurrentNum); lMSEL=i_TotalNum; //得到总的毫秒数,将总帧数转换为毫秒数
m_FlashOCX.Play();//播放
SetTimer(3,10,NULL);
}
}void CFlash::FlashPause()
{
m_FlashOCX.Stop(); //在当前帧位置停止播放
KillTimer(3);
}void CFlash::FlashStop()
{
KillTimer(3);
m_FlashOCX.GotoFrame(m_FlashOCX.GetTotalFrames()-1);//移动到最后一帧
m_FlashOCX.Stop(); //在末尾停止播放
m_FlashOCX.Zoom(0);//还原大小,显示全部的内容
m_FlashOCX.SetBGColor("0");
}void CFlash::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
int oldNum=CurrentNum;
CurrentNum=m_FlashOCX.CurrentFrame();
if(oldNum!=CurrentNum)
CMSEL=CMSEL+1; //保存现在已经播放的时间数if(CurrentNum>=i_TotalNum-1)
{ FlashStop(); /*m_FlashOCX.StopPlay();*/ }
else
{
if(CMSEL>=lMSEL) //lMSEL为总的播放时间,CMSEL为当前已经播放的时间数
FlashStop();
else
{
m_FlashOCX.Zoom(0);//还原大小,显示全部的内容
if(m_FlashOCX.IsPlaying()==FALSE)//判断*.swf文件是否正在播放
{ m_FlashOCX.Play(); }
}
}
CDialog::OnTimer(nIDEvent);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////“播放”按钮代码:
flash.Play();
“暂停”按钮代码:
flash.Stop();
“停止”按钮代码:
flash.Rewind();
flash.Stop();
“重播”按钮代码:
flash.Rewind();
flash.Play();
“后退”按钮代码:
flash.Back();
“前进”按钮代码:
flash.Forward();
“末帧”按钮代码:
flash.GotoFrame(flash.get_TotalFrames()-1);
“快退”按钮代码:
int current=flash.CurrentFrame();
if(current>4)
{
current-=5;
flash.GotoFrame(current);
}
else
{
flash.put_FrameNum(0);
} “快进”按钮代码:
int current=flash.CurrentFrame();
int i=flash.get_FrameNum();
if(current<flash.get_TotalFrames()-5)
{
current+=5;
flash.GotoFrame(current);
}
else
{
flash.put_FrameNum(flash.get_TotalFrames()-1);
} “放大”按钮代码:
flash.Zoom(50); “缩小”按钮代码:
flash.Zoom(200);
我自动生成的是CShockwaveFlash 类啊
http://www.vcer.net/1463.html看这篇文章