woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

运用CShockwaveFlash控件进行flash与vc通信

http://hi.baidu.com/nbcsss/blog/item/41dd2dd4fb81d8cc50da4b45.html/cmtid/fc35b10001be7eda277fb509

 

最近对flashvc之间的通信进行了一下简单的研究,有一下感慨在这里记录下。

首先推荐一个网址VC中使用 Flash 美化你的程序

个人认为该文章对flashmfc直接的通信的介绍说明的比较详细 特别是flash运用FSCommand(command,args);发送数据和mfc端运用void CPlayFlashDlg::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args) 进行消息响应的的操作过程说明的非常详细值得收藏。

在这里我想对它mfcflash通信的过程做一个补充。

对于一个从c语言入手的程序员来说在初学CShockwaveFlash时经常对mfcflash通信会产生疑问,不知道在flash中该怎么写代码,而通过百度或者谷歌搜索出来的结果很难令人满意,我也因为这个迷惑了很长的时间。

其实应该说用CShockwaveFlash进行vcflash通信实在是太简单了,以至于高手们都不屑写。

CString GetVariable(LPCTSTR name)void SetVariable(LPCTSTR name, LPCTSTR value)这两个函数是通信的关键,你要是英文比较好应该会很快知道Variable是变量的意思。知道了这些问题应该会变的很简单,flash中只需要定义一个变量比如说var y。你就可以通过GetVariable(“y”);来获取yflash中的值,用SetVariable("y", "abc");来把flashy的值设置成abc;(注:必须用字符串"y",否则如果用GetVariableymfc会提示没有定义y是个什么东西,还有就是flash端写的时候也要小心很容易就让系统会再次定义一个新的变量,具体的可以参考flash的手册),当然你也可以用SetVariable("_root.car._x", "123"); 来设置你car实例的x坐标,很简单把,要不你也来试试。

特别说明下,MFC在调用ACTIVEX控件自动在BOOL ***App::InitInstance()调用了函数AfxEnableControlContainer();如果你用其他的工程形式如LIBUIDK就要自行在相应位置加入AfxEnableControlContainer();不然会有非法读写的错误。

posted on 2010-12-07 14:11 肥仔 阅读(2179) 评论(0)  编辑 收藏 引用 所属分类: Flash & Flex


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理