vc中如何播放flash动画!!!

zjg751206 2001-11-28 02:22:14
我爱折腾vc和flash,所以很想在对话框中播放flash,怎么实现???这样一来可以玩得更好提示有分
...全文
664 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
神掌 2002-02-04
  • 打赏
  • 举报
回复
给我一个地址,给你一个例子
groundhog_new 2002-02-04
  • 打赏
  • 举报
回复
用程序来控制Flash控件(兼谈做CD的自启动程序一法)(转)

当前flash很流行,而且flash以控件形式提供ie,既然是控件,我们就可以用vc或
别的什么语言来控制它。
flash 控件的播放功能很好实现,它有一个强大的命令 fscommand,可用来向应
用程序发消息,截获此消息,我们可以实现很多功能。这样就可以结合flash的漂
亮界面与vc的强大功能!

下面以用flash控件做cd的autorun为例说明:
cd自启动程序一般是运行后有一个界面,进而有不同的安装项,这里,先应作一
个flash动画,一个漂亮的界面,加上几个按钮,点不同的按钮,就发出不同的
fscommand命令。fscommand由命令就是两个字符串,响应fscommand事件
应用程序可能得到这两个字符串,相关设计可以参考flash动画制作的相关书
籍,这里不作说明
先用vc建一单文档无view/doc的项目,导入flash控件,从头文件shockwaveflash.h
上可以看出,我们可能控制动很多细节,这里,我只关create和setmovie函数

virtual bool create(lpctstr lpszclassname,
lpctstr lpszwindowname, dword dwstyle,
const rect& rect,
cwnd* pparentwnd, uint nid,
ccreatecontext* pcontext = null)
{ return createcontrol(getclsid(), lpszwindowname, dwstyle, rect, pparentwnd, nid); }
void setmovie(lpctstr lpsznewvalue);

在类cchildview中加入一个flash控件,方法,在头文件中定义
public:
cshockwaveflash m_flash;
重载cchildview的oncreate

int cchildview::oncreate(lpcreatestruct lpcreatestruct)
{
if (cwnd ::oncreate(lpcreatestruct) == -1)
return -1;

m_flash.create(null,null, ws_child|ws_visible, crect(0, 0, 0, 0), this, flashid);
m_flash.setmovie(szworkpath+"autorun.swf");

return 0;
}

上面setmovie的参数是flash文件的完整文件名

最后就是响应动画的fscommand命令,即在cchildview中响应fscommand事件

begin_eventsink_map(cchildview,cwnd)
on_event(cchildview, flashid, 150 /* fscommand */, onfscommandflash, vts_bstr vts_bstr)
end_eventsink_map()


afx_msg void cchildview::onfscommandflash(lpctstr command, lpctstr args)
{
if(strcmp(command,"quit")==0)
{
m_flash.stop();
afxgetmainwnd()->postmessage(wm_close);
}
else if(strcmp(command,"setuppath")==0)
dorun( args );
else if(strcmp(command,"openpath")==0)
doexplore( args );
else
{
}
}

其中 command 和 args 就是fscommand发出的两个字符串,由于command,
和 args 内容由动画文件autorun.swf来确定,改变autorun.swf就可以有不同的
cd自启动程序。
上例中,有一个按钮发出的是 {"quit", ""} 令程序退出
另有一个按钮发出的是 {"openpath", ""} 令程序打开当前目录
还有几个是{"setuppath", "soft1\setup.exe"} 令程序运行子目录soft1下的setup.exe
即安装soft1,同样,可能还有按钮发出的是
{"setuppath", "soft2\setup.exe"} 安装soft2
{"setuppath", "soft3\setup.exe"} 安装soft3

是不是很简单




whitesun 2002-02-04
  • 打赏
  • 举报
回复
我也写过类似的程序!flash的功能是用的com加入flash.ocx!如果想要可以与我联系!
我不是大明 2002-02-04
  • 打赏
  • 举报
回复
用IE的COM控件的了!
escaper 2002-02-04
  • 打赏
  • 举报
回复
你他妈是猪啊, 装个flash不就看到这个组件啦。几百年前的问题了。
xtky_limi 2001-12-10
  • 打赏
  • 举报
回复
在安装程序与组件中,可以查看系统( win98 )中有没有shock wave 这个组件,大概就是这个名
字,再用vc倒入这个控件后,他会自动生成一个类
这个类中有用来播放文件德函数。一般只要使用一两个函数就可以播放了
zjg751206 2001-12-10
  • 打赏
  • 举报
回复
因此玩得不痛快!!!
告诉我如何找到此控件
zjg751206 2001-12-10
  • 打赏
  • 举报
回复
找不到此控件
hsdly 2001-12-02
  • 打赏
  • 举报
回复
我以前用着不行,总是说不能生成类!
zjg751206 2001-12-02
  • 打赏
  • 举报
回复
谢谢我试试给你分!!!!!
dog_dog 2001-12-02
  • 打赏
  • 举报
回复
用HtmlView也可以的
hsdly 2001-12-02
  • 打赏
  • 举报
回复
如果是单纯的播放,你可以先把它转换为avi的,照样可以播放的

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧