unit Main;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ShellCtrls, ExtCtrls, Menus, StdCtrls, Buttons,SHDocVw,
  RzGroupBar;
type
  TWebPage = class(TTabSheet)
  private
    NewTabSheet : TTabSheet;
    NewWeb:TWebBrowser;  public
    constructor Create(AOwner: TPageControl; WebAddress: string);  
    destructor Destroy; override;
    
  end;  TMainfrm = class(TForm)
    Splitter1: TSplitter;
    StatusBar1: TStatusBar;
    Panel2: TPanel;
    edWeb: TEdit;
    PageControl1: TPageControl;
    Button1: TButton;
    procedure edWebKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public   
    procedure OpenWeb(WebAddress: string);
  end;var
  Mainfrm: TMainfrm;implementation{$R *.dfm}
procedure TMainfrm.OpenWeb(WebAddress: string);
var
  AObj: TWebPage;
begin
  AObj := TWebPage.Create(PageControl1, WebAddress);end;{ TFileObj }
constructor TWebPage.Create(AOwner: TPageControl; WebAddress: string);
var
  flags:OleVariant;
begin
  inherited Create(AOwner);  
  if Trim(WebAddress) <> '' then
  begin
    Caption := WebAddress;  
  end
  else
  begin
    Caption := 'about:blank';
  end;  PageControl := AOwner;
  Parent := AOwner;  NewTabSheet := TTabSheet.Create(PageControl);
  NewTabSheet.PageControl := PageControl;
  NewTabSheet.Caption:=WebAddress;
//以上创建TabSheet  NewWeb := TWebBrowser.Create(NewTabSheet);
  NewTabSheet.InsertControl(NewWeb);
  NewWeb.Align:=alClient;
//以上创建WebBrowser
  if Trim(WebAddress) <> '' then
  begin
    NewWeb.Navigate(WebAddress,flags,flags,flags,flags);
 //显示网页
  end;
end;procedure TMainfrm.edWebKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  Name: string;
begin
  Name := edWeb.Text;
  if key=13 then
    OpenWeb(Name);
end;end.本人写的可以多页浏览器WebBrowser ,但是每次都有个空 TabSheet 。不知道怎么解决了!