VC++ CHtmlView与Javascript交互

转载自:‍http://blog.sina.com.cn/s/blog_3fa68f2d01000bm5.html‍如何在CHtmlView中实现与HTML页面使用window.external对像进行交互。

1、在类定义时添加
DECLARE_DISPATCH_MAP()

如:
class CItemView : public CHtmlView
{
DECLARE_DISPATCH_MAP()
....
}

2、在构造函数中添加
EnableAutomation();
如:
CItemView::CItemView()
{
EnableAutomation();
}

3、在类实现文件前添加类似如下的映射
BEGIN_DISPATCH_MAP(CItemView, CHtmlView)
DISP_FUNCTION(CItemView, "函数名", 函数名, VT_BOOL, VTS_I4 VTS_I4)
END_DISPATCH_MAP()

即 BOOL CItemView::函数名(int, int)

4、 重写OnGetExternal
HRESULT CItemView::OnGetExternal( LPDISPATCH *lppDispatch)
{
*lppDispatch = GetIDispatch(TRUE);
return S_OK;
}

==================================
在页面的JS脚本中可以这调用
window.external.函数名(1,1);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值