如果你是利用 CHtmlView 的话,在 html 里利用javascript做页面跳转,然后htmlview的beforenavigate 事件里截获链接,然后处理即可,因为链接你可以自定义,所以页面的参数可以通过连接传进来。
这是一段类似的代码可以参考
void CIEView::OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)
{
// TODO: Add your specialized code here and/or call the base class
CMainFrame* pfrm=(CMainFrame*)AfxGetMainWnd();
CString strURL,strURL2;
strURL=lpszURL;
strURL.MakeLower();
if(strURL.Left(4)!="http" && strURL.Left(3)!="ftp")
{
if(strURL.Left(8)=="email://")
{
*pbCancel=TRUE;
ProcessEmail(strURL);
return;
}
if(strURL.Left(9)=="search://")
{
*pbCancel=TRUE;
ProcessSearch(strURL);
return;
}
strURL=pfrm->GetRealURL(strURL);
pfrm->AddToHistory(strURL);
}
CHtmlView::OnBeforeNavigate2(lpszURL, nFlags,lpszTargetFrameName, baPostedData, lpszHeaders, pbCancel);
}
亲在网页里面调用C++函数是不行的哦(除非在后台处理才可能C#等代码).
你可以看下CHtmlDialog类。新建MFC项目,HTML对话框程序。VS会生成一个项目。看下它是怎么实现的