VS2008 ATL控件开发


1,新建项目->ATL->ATL项目:VSAtlPlayer



2,Project->add class->Atl Control

完成设置向导:


[插入]

事实上我们在这里选定的“仅适用于窗口的”并没有生效,需要在CPlayerCtrl的构造函数里加一句,才能显示我们下面将要加的Atl Dialog

CPlayerCtrl()
{
m_bWindowOnly = true;
}

3,add ATL Dialog:

project->add class->Atl dialog,命名:PlayerWnd

resource view里设置对话框的属性:

Border:None,Style:Child,Visible,true

4,选中CPlayerCtrl,在右下角属性窗口中,添加消息WM_CREATE,(OnCreate)

实现之:

LRESULT CPlayerCtrl::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值


RECT rc = {0};
     this->GetWindowRect(&rc);
     
     // 创建新的视频/控制/命令窗口...
     if( !::IsWindow(m_pCPlayerWnd.m_hWnd) ) {
         m_pCPlayerWnd.Create(this->m_hWnd, rc);
     }

return 0;
}


5,增加Atl提供给html的接口

右键IPlayerCtrl->add method:


实现SetMediaInfo,注释掉CPlayerCtrl的onDraw里面的内容,都是无用的东西。


编译生成VSAtlPlayer.dll,并自动注册

修改PlayerCtrl.htm:

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<TITLE>对象 PlayerCtrl 的 ATL 8.0 测试页</TITLE>
</HEAD>
<BODY>

<OBJECT ID="VSAtlPlayer" CLASSID="CLSID:1FB3EFE6-A5FD-4F27-AB28-7D4C902A807D"></OBJECT>
<script type="text/javascript">


    var VSAtlPlayer = document.getElementById('VSAtlPlayer');
    VSAtlPlayer.SetMediaInfo("45566464645", 3);
    //alert(result);

</script>

</BODY>
</HTML>


OVER

参考资料:

http://blog.youkuaiyun.com/wanghaisheng/article/details/4317198

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值