加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MFC显示flash动画

发布时间:2020-12-15 06:27:03 所属栏目:百科 来源:网络整理
导读:原文:http://bbs.bccn.net/thread-292047-1-1.html MFC显示Flash动画的编程实现 ?????Flash动画已经广泛应用于网页中了,其美观与趣味性得到了我们的认可。网页是通过浏览器例如IE,The World等软件呈现给我们的,这些浏览器软件内置能够播放Flash的软件,那
原文:http://bbs.bccn.net/thread-292047-1-1.html
MFC显示Flash动画的编程实现
?????Flash动画已经广泛应用于网页中了,其美观与趣味性得到了我们的认可。网页是通过浏览器例如IE,The World等软件呈现给我们的,这些浏览器软件内置能够播放Flash的软件,那么如何在MFC程序中显示Flash,使我们设计的对话框程序更加美观呢?本文就是讨论这个问题的。

?????首先声明本文所用的MFC开发软件是VS2008版的,所以下面供下载的例程是在VS2008环境下编写的。使用VC++6.0的朋友可以用记事本打开那些源代码。
例程下载地址:http://hlmzrdongdongsohu.qupan.com/4796664.html

??? 当然在开始时有一个准备工作要做,那就是下载一个较小的.swf格式的Flash动画吧。另外要确保你的计算机里安装了播放Flash动画的ActiveX插件,也许你不知道你的计算机里有没有这个插件,后面在编程的过程中将会告诉你的。

一.建立一个基于对话框的工程
???我将自己的工程命名为flashdemo。在建立工程的向导中有一部很重要,如下图所示:

这里红色区域的那一项一定要钩上,因为后面的编程中将会用到ActiveX控件的。默认情况下也是钩上的。

二.将播放Flash动画的ActiveX控件加入到工程中
???通过资源窗口(Resource)进入编辑对话框的界面,在该对话框上单击右键选择“插入ActiveX控件…”选项。如下图所示:

接着会弹出一对话框,那是要你选择ActiveX控件,找到播放Flash动画的控件“Shockwave Flash Object”,选中后点击确定即可。观察一下对话框会看到一个黑色的矩形框,那个即是这个控件。如果你找不到这一项即说明没有注册该控件。当然可以人工注册百度一下即可。


三.调整Flash播放控件的属性
???选中该Flash控件后将其ID设置为IDC_SHOCKWAVEFLASH。
???再次选中该控件,右击给此控件添加一个成员变量,命名为flashshow。

四.添加代码

???需要添加的代码非常的少,都是在flashdemoDlg.cpp这个文件中田间。

???在对话框初始化函数体BOOL CflashdemoDlg::OnInitDialog()中添加一下代码:

??????

程序代码:
RECT rc;

?????? this->GetClientRect(&rc);//获得客户区的坐标

?????? //调整flash的位置

?????? rc.left=rc.right/2-200;

?????? rc.right=rc.right/2+200;

?????? rc.top+=40;

?????? rc.bottom=rc.bottom/2;

?????? flashshow.MoveWindow( &rc,true );



?????? TCHAR strCurDrt[500];

?????? int nLen = ::GetCurrentDirectory(500,strCurDrt);

?????? if( strCurDrt[nLen]!='' )

?????? {

??????????????strCurDrt[nLen++] = '';

??????????????strCurDrt[nLen] = '';

?????? }



?????? CString strFileName = strCurDrt;

?????? strFileName += "clock.swf";//clock.swf是flash文件的名字,该flash文件放在工程目录下。

?????? flashshow.LoadMovie(0,strFileName);

?????? flashshow.Play();

???然后在void CflashdemoDlg::DoDataExchange(CDataExchange* pDX)中添加如下代码:

程序代码:
?????? DDX_Control(pDX,IDC_SHOCKWAVEFLASH,flashshow);
???至于这些代码的确切位置在哪,看看提供的例程即可。 五.运行该程序 ???编译之后运行效果图如下 我下载的一个Flash动画是一个clock,所以上面显示的是一个时钟,当然显示的时间是系统时间,不需要你控制和更改的,是由这个flash本身完成的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读