MFC里创建FLASH控件,并从内存流中载入SWF
来源:互联网 发布:在线浏览器代理软件 编辑:程序博客网 时间:2024/04/30 08:58
1,在stdafx.h里引用如下头文件
#include <atlbase.h>extern CComModule _Module; #include <atlcom.h>#include <oleacc.h>#include <comdef.h>#pragma comment(lib,"atl")#pragma comment(lib,"User32.lib")#import "c:\WINDOWS\system32\Macromed\Flash\Flash32_11_5_502_135.ocx"using namespace ShockwaveFlashObjects;
<p>#pragma pack(push, 1)</p><p>typedef struct _FLASH_STREAM_HEADER{ DWORD m_dwSignature; DWORD m_dwDataSize;} FLASH_STREAM_HEADER, *PFLASH_STREAM_HEADER;</p><p>#pragma pack(pop)</p>
<pre class="cpp" name="code">
BOOL CFlashTest::InitInstance(){...CoInitialize(NULL);AtlAxWinInit();}
<pre class="cpp" name="code">2创建FLASH控件并从内存流中载入CRect rc;GetClientRect(&rc);static CWnd wnd;BOOL bRet = wnd.CreateControl("ShockwaveFlash.ShockwaveFlash","flash",WS_CHILD|WS_VISIBLE,rc,this,0x223);CComPtr<IShockwaveFlash> spFlash;LPUNKNOWN pUnknow = wnd.GetControlUnknown();pUnknow->QueryInterface(__uuidof(IShockwaveFlash),(void **)&spFlash);HRSRC hRes = FindResource(NULL,(LPCTSTR)IDR_SWF1,"SWF");if (hRes){DWORD dwResourceDataSize = SizeofResource(NULL,hRes);HGLOBAL hResourceLoaded = ::LoadResource(NULL, hRes);IStream *spStream;HRESULT hResult = ::CreateStreamOnHGlobal(NULL, TRUE, &spStream);FLASH_STREAM_HEADER fsh = {0x55665566, dwResourceDataSize};ULARGE_INTEGER uli = {sizeof (fsh) + dwResourceDataSize};hResult = spStream->SetSize(uli);hResult = spStream->Write(&fsh, sizeof (fsh), NULL);hResult = spStream->Write(reinterpret_cast<void*>(hResourceLoaded), dwResourceDataSize, NULL);uli.QuadPart = 0;hResult = spStream->Seek(*reinterpret_cast<PLARGE_INTEGER>(&uli), STREAM_SEEK_SET, NULL);CComPtr<IPersistStreamInit> spPersistStreamInit; spFlash.QueryInterface(&spPersistStreamInit);spPersistStreamInit->Load(spStream);}
<pre>
</pre><pre class="cpp" name="code">
- MFC里创建FLASH控件,并从内存流中载入SWF
- 内存中加载flash.ocx控件并从内存中加载swf文件资源后播放之
- 教你如何在FLASH中载入外部SWF文件
- AS3中从外部载入swf需要用到Loader类
- Flex 从外部载入swf文件,并操作。(皮肤制作)
- 载入外部swf文件并与之交互
- Flash笔记之URLStream和loader域载入swf
- 使用MFC创建并调用ActiveX控件
- 使用MFC创建并调用ActiveX控件
- MFC中手工创建控件
- MFC中手工创建控件
- MFC中动态创建控件
- 利用TreeView控件 从数据库中动态载入数据
- 在IE中创建DOM并载入XML
- FLASH中加载SWF文件
- 使用Flash地图控件AnyMap创建简单地图并嵌入到Web页面中
- mfc从磁盘中打开图像文件并显示在图像控件中
- vc中载入flash资源
- VC编写vista或win7下需要管理员权限运行的程序
- json-c-0.9 在linux上编译使用
- 使用 screen 管理你的远程会话
- 【sed&awk】统计文本中单词的分布
- C++ 直接插入排序
- MFC里创建FLASH控件,并从内存流中载入SWF
- Anroid开发中常用的外部jar库
- 函数传空参 调用存储过程
- GridView 简单使用
- Android 开发环境配置问题:AVD不能创建是的原因
- ubuntu下安装sh和bin格式软件包
- 设置HTML标签<textarea>默认值
- nbu 2427 Pigs
- 数据结构之哈希表(hash)代码