VC++ CHtmlView与Javascript交互

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 );

 

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

你可能感兴趣的:(VC++ CHtmlView与Javascript交互)