| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9501 人关注过本帖, 4 人收藏
标题:MFC显示Flash动画的编程实现
取消只看楼主 加入收藏
hlmzrdongdong
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖北武汉
等 级:版主
威 望:1
帖 子:99
专家分:145
注 册:2008-10-24
结帖率:100%
收藏(4)
 问题点数:0 回复次数:0 
MFC显示Flash动画的编程实现
     Flash动画已经广泛应用于网页中了,其美观与趣味性得到了我们的认可。网页是通过浏览器例如IE,The World等软件呈现给我们的,这些浏览器软件内置能够播放Flash的软件,那么如何在MFC程序中显示Flash,使我们设计的对话框程序更加美观呢?本文就是讨论这个问题的。

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

    当然在开始时有一个准备工作要做,那就是下载一个较小的.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] = '\0';

       }

 

       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本身完成的。







搜索更多相关主题的帖子: 动画 Flash MFC 
2009-11-12 12:19
快速回复:MFC显示Flash动画的编程实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028039 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved