你要在 CHtmlView::OnNewWindow2 里面创建一个新的 WebBrowser,并把新的 WebBrowser 的 IDispatch 接口指针传过去。

解决方案 »

  1.   

    1.virtual void OnNewWindow2( LPDISPATCH* ppDisp, BOOL* Cancel );
    中Cancel = true,便不开new window
    2.virtual void OnStatusTextChange( LPCTSTR lpszText );
    中可以截获Status的文本,也就是,选中的超连接.
      

  2.   

    把你的流览器设为默认流览器,即修改资源管理器-》查看选项-》文件类型中的.html等的处理方式.
    试试行不行。
      

  3.   

    edyang(愚顽) &Tice(孤笑):能不能详细一些? 
    我是十分菜的,具体一点,就一点..........
      

  4.   

    添加一个类如MyHtmlView,基予CHtmlView,再添加虚拟函数virtual void OnNewWindow2( LPDISPATCH* ppDisp, BOOL* Cancel );或virtual void OnStatusTextChange( LPCTSTR lpszText );
    例:
    void MyHtmlView::OnStatusTextChange( LPCTSTR lpszText )
    {
        //处理lpszText,只纪录,http://,ftp://,mailto:等开头的字串;
        CHtmlView::OnStatusTextChange( LPCTSTR lpszText );//处理原来的函数
    }
      

  5.   

    重载OnNewWindow2函数,把以下代码的CMfcieView换成你的htmlview类就可以了。
    void CMfcieView::OnNewWindow2( LPDISPATCH* ppDisp, BOOL* Cancel )
    {    // Get a pointer to the application object
        CWinApp* pApp = AfxGetApp();    // Get the correct document template
        CDocTemplate* pDocTemplate;
        POSITION pos = pApp->GetFirstDocTemplatePosition();
        pDocTemplate = pApp->GetNextDocTemplate(pos);    ASSERT(pDocTemplate);    // Create the new frame
        CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(),
                                       (CFrameWnd*)AfxGetMainWnd());
        ASSERT(pNewFrame);    // Activate the frame and set its active view
        pDocTemplate->InitialUpdateFrame(pNewFrame, NULL);    CMfcieView* pWBVw = (CMfcieView*)pNewFrame->GetActiveView();
        ASSERT(pWBVw);    pWBVw->SetRegisterAsBrowser(TRUE);    *ppDisp = pWBVw->GetApplication();}
      

  6.   

    Tice(孤笑) :         hey~这个OnStatusTextChange( LPCTSTR lpszText )只能处理状态栏要显示的文字啊,我想不明白,不知通过这个函数如何改变超连接,让其不在IE新窗口打开。它不能处理
    <a href=http://www.csdm.net target=_blank>啊         我想这个还得是OnNewWindow2比较好,还请举个例子,OnNewWindow2的例子给我看看~`~
      

  7.   

    刚刚没有看见OO的解答,按照OO的方法问题已经解决了!
    OO:
        我请你吃饭!
        char meal[10];
       meal[0]=米饭;
       meal[1]=粗粮;
       .........
    吃饱了我去给分啦!
      

  8.   

    哎~自己写CHtmlView的浏览器不支持cookies
    有办法让它支持么?
      

  9.   

    你好。是怎么支持cookies 的。能告诉偶么。。泄了。