关于atl中调用flash的问题。急!请多多关照。

hehaheha 2003-01-19 09:38:23
主要目的是调用flash的播放器,可不知道为什么下面这段没有报failed可是
却什么反应也没有。难道flash必须要自己提供一个window给它吗?我想不会吧。
请高手指教.
if(FAILED(m_ctlFlash.CreateDispatch("ShockwaveFlash.ShockwaveFlash.1",e)))
{
AfxMessageBox("failed");
}

...全文
31 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterz 2003-01-20
  • 打赏
  • 举报
回复
CAxWindow m_container;
using namespace ShockwaveFlashObjects;
IShockwaveFlash* shwaveflash;
case WM_CREATE:
GetClientRect(hWnd, &rc );
rc.top = (rc.bottom+rc.top)/2;
m_container.Create( hWnd, rc, LPCTSTR("ShockwaveFlash.ShockwaveFlash.1"), WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL );//
m_container.QueryControl( __uuidof(IShockwaveFlash), reinterpret_cast<void**>(&shwaveflash) );
break;
masterz 2003-01-20
  • 打赏
  • 举报
回复
project ---> add To project ---> components and Controls

插入Shockwave Flash Object
编译器会插入一个CShockwaveFlash类。。

在你的view类里面声明一个CShockwaveFlash成员
CShockwaveFlash m_flash;

然后映射WM_CREATE消息
int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (!CView::OnCreate(lpCreateStruct))
return -1;
m_flash.Create(NULL, WS_CHILD | WS_VISIBLE,
CRect(0, 0, 500, 500), this, 1111);
m_flash.LoadMovie("你的swf文件绝对路径");
m_flash.Play();
return 0;
}
icelight 2003-01-20
  • 打赏
  • 举报
回复
mark一下
hehaheha 2003-01-20
  • 打赏
  • 举报
回复
第二种方法还是很多不懂的地方啊。比如case WM_CREATE...是要从载CAxWindow的消息处理吗?using namespace ....又作何用?还请多多指教。
hehaheha 2003-01-20
  • 打赏
  • 举报
回复
atl中似乎没有用到视图类,第二种方法我试试,先再次谢谢,因为masterz已经不是第一次帮我了,呵呵。高手就是高手阿。
flyycyu 2003-01-19
  • 打赏
  • 举报
回复
你用AxWindow加载吧!

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧