WEB开发网
开发学院软件开发VC 在VC中使用 Flash 美化你的程序 阅读

在VC中使用 Flash 美化你的程序

 2006-07-22 22:53:09 来源:WEB开发网   
核心提示: 原理就是这样子的,要实现的话就得在flash动画中使用FSCommand发送消息,在VC中使用 Flash 美化你的程序(3),在我们的程序接收和处理FSCommand消息了,flash部分的就不讲了,shockwave flash object控件还提供了其它很多函数,如果你有什么新发现

原理就是这样子的,要实现的话就得在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)
{
  // 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中发送复杂的字符串,在这边就要进行更多的处理了。

三、设置和读取flash动画中的变量。

shockwave flash object还提供了两个进行交互的函数,一个是CString GetVariable(LPCTSTR name),用来获得flash动画中变量name的值,该值以CString的形式返回给调用者;一个是void SetVariable(LPCTSTR name, LPCTSTR value),可以用来将flash动画中的name变量设置一个值value。

使用以上介绍的几个函数就可以在我们的程序和flash动画间进行很好的交互了,shockwave flash object控件还提供了其它很多函数,如果你有什么新发现的话,不要忘了告诉我哦。

上一页  1 2 3 

Tags:VC 使用 Flash

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接