请问可以在一个webbrowser控件中显示各个连接网页么??由于某些网页中的连接是 ‘在新窗口打开网页’,所以即使现在我得到的网页是显示在webbrowser中,但是这个网站的其他连接就被ie打开了,而不是自己的应用程序打开的~
所以请问怎么才能使这些网页的显示都在程序的控制中~也就是怎么判断当前这个连接模式是’在新窗口打开~谢谢了~~~~~~~~~~~如果分不够可以加,不过我总分才410分~

解决方案 »

  1.   

    OnNewWindow2事件中改变ppDisp指向
      

  2.   

    to:ehom(?!) 
    根据你的提示,我看了一下help,与我的要求很相近
    但是我没看得怎么懂,也没有例子,能给出一个简单的例子么?
      

  3.   

    Cancel allows the event handler to block the creation of a new window. When the event handler sets Cancel to True, the Web browser tries to display the target resource in its current window, starting with an OnBeforeNavigate2 event.我直接把NewWindow2中的cancel设置成true,程序就不会打开新窗口了,但是对于需要新窗口的连接也就打不开了~
    怎么该ppdisp选项啊~谢谢
      

  4.   

    我用了一个pagecontrol1控件,里再放webbrowse1,以下代码procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
      var ppDisp: IDispatch; var Cancel: WordBool);
          var
           sheet: TTabSheet;
           wb:TWebBrowser;  begin
      sheet := TTabSheet.Create(Self);
      sheet.PageControl := PageControl1;
    //  sheet.PageIndex := PageControl1.ActivePageIndex + 1;
      sheet.Caption := 'TabSheet' + IntToStr(PageControl1.PageCount);
    //Cancel := True;
      sheet.TabVisible :=true;
      pagecontrol1.ActivePageIndex :=sheet.PageIndex ;
      sheet.Visible :=true;
       wb := TWebBrowser.Create(self);
       //form1.InsertControl(wb);
       TWinControl(wb).Parent := sheet;
       wb.Align:=alClient;
       wb.Silent:=true;
        wb.Visible := true;
       ppDisp := Wb.Application;end;