如果你用她的VCL控件的话,有一个方法OnNewWindow2,其他我就不知道了GoodLuck三少 :o)

解决方案 »

  1.   

    非常简单的多页面浏览器:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs, ComCtrls,
      StdCtrls, ExtCtrls, OleCtrls, SHDocVw;type
      TForm1 = class(TForm)
        Panel1: TPanel;
        Edit1: TEdit;
        Animate1: TAnimate;
        PageControl1: TPageControl;
        Button1: TButton;
        OpenDialog1: TOpenDialog;
        procedure FormDestroy(Sender: TObject);
        procedure FormKeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure Edit1KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure WebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
          var Cancel: WordBool);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        FCount: integer;
        FTabSheets: array of TTabSheet;
        FWebBrowsers: array of TWebBrowser;
        procedure NewWebBrowser(const Url: string);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.NewWebBrowser(const Url: string);
    begin
      inc(FCount);
      SetLength(FTabSheets, FCount);
      FTabSheets[FCount - 1] := TTabSheet.Create(self);
      FTabSheets[FCount - 1].PageControl := PageControl1;
      PageControl1.ActivePage := FTabSheets[FCount - 1];  SetLength(FWebBrowsers, FCount);
      FWebBrowsers[FCount - 1] := TWebBrowser.Create(self);
      FTabSheets[FCount - 1].InsertControl(FWebBrowsers[FCount - 1]);
      with FWebBrowsers[FCount - 1] do
      begin
        Align := alClient;
        Navigate(url);
        OnNewWindow2 := WebBrowserNewWindow2
      end;
    end;procedure TForm1.FormDestroy(Sender: TObject);
    var
      i: integer;
    begin
      for i := FCount - 1 downto 0 do
      begin
        FWebBrowsers[i].Free;
        FTabSheets[i].Free;
      end;
    end;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Key = VK_ESCAPE then close;
    end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Key = VK_RETURN then
        NewWebBrowser(Edit1.Text);
    end;procedure TForm1.WebBrowserNewWindow2(Sender: TObject;
      var ppDisp: IDispatch; var Cancel: WordBool);
    begin
      NewWebBrowser('');
      ppDisp := FWebBrowsers[FCount - 1].Application;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      if OpenDialog1.Execute then
        NewWebBrowser(OpenDialog1.FileName);
    end;end.
      

  2.   

    procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
      var ppDisp: IDispatch; var Cancel: WordBool);
    begin
      ppDisp := Form2.WebBrowser1.ControlInterface;
      Form2.Show;
    end;
      

  3.   

    VB实现的方法,看是否对你有用:Private Sub Command1_Click()
        '浏览任何一个可以弹出菜单的窗口,下面的窗口将弹出窗口,地址为
        'http://www.ap.dell.com/html/ap/popup/cn/zh/cnbsd.htm
        WebBrowser1.Navigate "http://www.applevb.com"
    End SubPrivate Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
        Dim frmWB As Form1    Set frmWB = New Form1    frmWB.WebBrowser1.RegisterAsBrowser = True    Set ppDisp = frmWB.WebBrowser1.Object
        frmWB.Visible = True
    End Sub
      

  4.   

    可以做自己的ACTIVE  FORM
      

  5.   

    在你的网页的超链接定一个特殊的URL,并将目标设为_Self
    在Brower.OnNavighte事件中的URL参数中识别,
    If URL='aaaa' then ChildForm.ShowModal;