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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM