我用屏幕录制软件做了一个4M大小的exe视频(因为生成wav文件太模糊了),简单介绍一下VC++6.0下引用FLASH插件的用法。有想看看的请发[email protected]索取。
(1)准备工作
要准备好FLASH CS3、flashplayer_10,前者是制作FLASH,后者是播放FLASH。
要准备好VC++6.0,制作控制FLASH的软件。方便以后做成游艺机模拟机。
(2)VC++添加FLASH控件
VC++建立一个基于对话框的应用程序TEST0407(图001、图002)
图001
查看原图
图002
查看原图
剪切不要东西、加FLASH控件如下操作(图003)
图003
查看原图
[工具(T)]--[ActiveX Control Test Container]--[弹出对话框]
[File]--[Register Controls]--[弹出对话框]
找到C:WINDOWS\system32\Macromed\lash\Flash10e.ocx,[打开](图004)
添加后逐级关闭
图004
查看原图
(3)添加控件和类
视图资源里主框点击右键选[插入ActiveX控件](图005)
图005
查看原图
找到"Shockwave Flash Object"选择[确定](图006)生成黑屏幕(图007)
图006
查看原图
图007
查看原图
改属性,名字由原来"确定"、"取消"改为"播放"、"退出"并双击按钮,生成如下函数(图008)
图008
查看原图
然后在播放器黑框里单击右键弹出框选择[建立类向导](图009)
图009
查看原图
弹出"MFC ClassWizard"框里为FLASH的ID添加映射:选择IDC_SHOCKWAVEFLASH1、FSCommand、[Add Function],弹出"Add Member Function"选[OK](图010)
图010
查看原图
在"MFC ClassWizard"框里第2页"Member Variables",为FLASH的ID添加类,弹出提示对话框选择[确定],我们定义类名字,为m_flash,基类为CShockwaveFlash(图011)
图011
查看原图
最后[确定]退出类向导,发现类资源中多了一个CShockwaveFlash类
(4)修改"播放按钮"代码
为视图资源里的"播放"按钮消息响应函数修改代码(图012)
void CTest0407Dlg::OnOK() //对应"播放"按钮
{
// TODO: Add extra validation here
//CDialog::OnOK();
m_flash.LoadMovie(0,"c:\\VC\\tu\\12.swf"); //播放FLASH文件,路径C:\VC\tu\12.swf
m_flash.Play();
}
图012
查看原图
(5)修改"退出按钮"代码
视图资源卡,在"Dialog"单击右键选择[插入Dialog],出现新的对话框、新的ID(IDD_DIALOG1)(图013)
图013
查看原图
右键单击整体"提示"框选择[建立类向导],提示对话框"Adding a Class"选择[OK],建立新类(图014)
图014
查看原图
"Name"框用户自定义为"CQuit",软件会自动建立一个"Quit.cpp"文件,选择[OK]。(图015)
图015
查看原图
在类向导卡里也可以再定义"确定"、"取消"两按钮的类名字为"m_QuitYes"、"m_QuitNo",选择[确定]。(图016)
图016
查看原图
发现类资源中多了一个CQuit类。该类名上单击右键,跳转到库(头文件),查到该库名为"Quit.h",并在公有里添加一个传递变量char QuitState。(图017)
图017
查看原图
视图资源里点击"提示对话框"的"确定"、"取消"按钮,生成两个函数,修改(图018)
void CQuit::OnOK() //"提示"退出FLASH吗,确定
{
// TODO: Add extra validation here
CDialog::OnOK();
QuitState=1; //传递"确定退出"信息
}
void CQuit::OnCancel() //"提示"退出FLASH吗,取消,返回主菜单播放
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
QuitState=2; //传递"返回主菜单"信息
}
图018
查看原图
在"test0407Dlg.cpp"里添加"Quit.h"库
#include "Quit.h"
在"退出"按钮函数void CTest0407Dlg::OnCancel()里修改如下(图019)
void CTest0407Dlg::OnCancel() //对应"退出"按钮
{
// TODO: Add extra cleanup here
CQuit Quit; //定义一个CQuit类
Quit.DoModal(); //建立弹出对话框
if(Quit.QuitState==1) //如果是"确定退出"信息
{
CDialog::OnCancel(); //退出
}
else if(Quit.QuitState==2) //如果是"返回主菜单"信息
{
m_flash.StopPlay(); //返回并暂停播放
}
}
图019
查看原图
(6)编译通过,播放(图020)
图020
查看原图