在VC中使用 Flash 美化你的程序
2006-07-22 22:53:09 来源:WEB开发网原理就是这样子的,要实现的话就得在flash动画中使用FSCommand发送消息,在我们的程序接收和处理FSCommand消息了。flash部分的就不讲了。那我们的程序如何才能接收这个消息呢?前面我们讲到,shockwave flash object插入我们的程序后就可以象一个普通的windows控件那样使用它了。要让它接收并处理这个消息当然是使用MFC的类向导进行消息映射了。做法如下:
1、添加消息处理函数。 在主菜单中选择“查看->类向导”,在弹出的对话框中选择消息映射,在左边的列表框中选择我们刚插入程序的shockwave flash object控件id,右边选择FSCommand, 点击AddFunction,这样就添加了一个FSCommand消息处理函数了。它的形式大概是这样子的:
void CPlayFlashDlg::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args) ;函数有两个参数,就是flash的Action SCript中FSCommand语句中的两个参数。其实并不一定两个参数都用到,flash脚本中可以就使用一个参数,这样这边的函数就只要对第一个参数进行处理就行了。
2、编写消息处理代码。 在刚添加的FSCommand消息处理函数中,对两个参数进行处理。其实就是做字符串比较的操作,根据是什么字符串来判断用户进行了什么操作。大概就是这样子的:
void CPlayFlashDlg::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args)
这只是最简单的处理形式,当然你可以在flash中发送复杂的字符串,在这边就要进行更多的处理了。
{
// TODO: Add your control notification handler code here
if( 0 == strcmp(command,"bt") )
{
if( 0 == strcmp(args,"enter") )
{
MessageBox("欢迎进入系统!");
}
}
else if( 0 == strcmp(command,"quit") )
{
MessageBox("您选择了退出!");
CDialog::OnCancel();
}
}
三、设置和读取flash动画中的变量。
shockwave flash object还提供了两个进行交互的函数,一个是CString GetVariable(LPCTSTR name),用来获得flash动画中变量name的值,该值以CString的形式返回给调用者;一个是void SetVariable(LPCTSTR name, LPCTSTR value),可以用来将flash动画中的name变量设置一个值value。
使用以上介绍的几个函数就可以在我们的程序和flash动画间进行很好的交互了,shockwave flash object控件还提供了其它很多函数,如果你有什么新发现的话,不要忘了告诉我哦。
更多精彩
赞助商链接