Flash动画在许多领域中有着举足轻重的作用。如在网页中嵌入flash,可以得到一些意想不到的效果,学习MFC的我们就想,该如何给自己的程序添加Flash文件呢?
编程环境:VC++6.0 + windows7-64bit + 支持activeX控件
具体步骤:
打开VC++6.0,新建MFC工程,如下图
点击OK,选择基于对话框的,如下图
Finish->OK
右键对话框窗体,选择插入ActiveX控件。
选择Shockwave flash Object,点击OK
删除文本,调整适当的属性。
选中该Flash控件后将,右键属性,将ID设置为IDC_SHOCKWAVEFLASH。
再次右键该控件,选择类向导(ClassWizard),给此控件添加一个成员变量,命名为flashshow。
确定
默认点OK就好
名字设置好点OK,再点OK
效果如下:
后在flashdemoDlg.cpp这个文件中添加代码。
首先在对话框初始化函数体BOOL CflashdemoDlg::OnInitDialog()中添加一下代码( return TRUE;之前):
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)中添加如下代码(可能自己生成):
//{{AFX_DATA_MAP(CPlayFlashDlg)
DDX_Control(pDX, IDC_SHOCKWAVEFLASH, flashshow);
//}}AFX_DATA_MAP
把swf格式的文件复制到工程目录,运行程序即可
具体的代码位置,请看我写好的程序做参考。Swf随便下载就好,名字做相应的修改。
http://download.youkuaiyun.com/detail/a191030148/7987121
直接运行Debug中的EXE,把clock.swf放到Debug文件夹下。