轉自: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