转自: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);

参考文章:http://www.bc-cn.net/Article/kfyy/vc/jszl/200601/3003_2.html

相关文章:

  • 2021-07-25
  • 2022-01-28
  • 2022-02-10
  • 2022-12-23
  • 2022-12-23
  • 2021-08-02
猜你喜欢
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-28
  • 2021-07-22
相关资源
相似解决方案