在MFC用html做界面,,怎样能用html的链接调用c++函数

就是在网页代码里面调用c++函数

如果你是利用 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);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-12
亲在网页里面调用C++函数是不行的哦(除非在后台处理才可能C#等代码).
第2个回答  2013-05-12
你可以看下CHtmlDialog类。新建MFC项目,HTML对话框程序。VS会生成一个项目。看下它是怎么实现的追问

我就是问新建html对话框程序后 能不能在htm文件里面调用c++函数

追答

CHtmlDialog类就是实现了用Html作界面,并且响应Html上的按钮等事件。这个响应是如何实现的,你可以看下CHtmlDialog类源码

相似回答