牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

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

posted on 2012-07-11 18:53 杨粼波 阅读(2382) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理