在这个事件中响应BeforeNavigate2procedure TfrmMain.wbIndexBeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); var aTabSheet: TTabSheet; aWebBrowser: TWebBrowser; aIndex: integer; begin if string(URL) <> ExtractFileDir(Application.ExeName) + '\Is2000_help\index.htm' then begin for aIndex := 0 to pcContents.PageCount-1 do begin if pcContents.Pages[aIndex].Caption = ExtractFileName(string(URL)) then begin pcContents.ActivePageIndex := aIndex; sbMain.SimpleText := ExtractFileName(string(URL)); Cancel := true; Exit; end; end; aTabSheet := TTabSheet.Create(self); with aTabSheet do begin parent := pcContents; PageControl := pcContents; tabVisible := true; end; pcContents.ActivePage := aTabSheet; aWebBrowser := TWebBrowser.Create(self); TWinControl(aWebBrowser).parent := aTabSheet; aWebBrowser.Align := alClient; aWebBrowser.Navigate(string(URL)); aTabSheet.Caption := ExtractFileName(string(URL)); sbMain.SimpleText := ExtractFileName(string(URL)); aWebBrowser.Visible := true; awebBrowser.Navigate(string(URL)); Cancel := true; end; end;
procedure TFormMian.WebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var tabwb:TWebBrowser; aa:integer; begin tabwb:=TWebBrowser.Create(self); tabwb.SetBounds(0,0,tabwb.Width,tabwb.Height);
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
var
aTabSheet: TTabSheet;
aWebBrowser: TWebBrowser;
aIndex: integer;
begin
if string(URL) <> ExtractFileDir(Application.ExeName) + '\Is2000_help\index.htm' then begin
for aIndex := 0 to pcContents.PageCount-1 do begin
if pcContents.Pages[aIndex].Caption = ExtractFileName(string(URL)) then begin
pcContents.ActivePageIndex := aIndex;
sbMain.SimpleText := ExtractFileName(string(URL));
Cancel := true;
Exit;
end;
end;
aTabSheet := TTabSheet.Create(self);
with aTabSheet do
begin
parent := pcContents;
PageControl := pcContents;
tabVisible := true;
end;
pcContents.ActivePage := aTabSheet; aWebBrowser := TWebBrowser.Create(self);
TWinControl(aWebBrowser).parent := aTabSheet;
aWebBrowser.Align := alClient;
aWebBrowser.Navigate(string(URL));
aTabSheet.Caption := ExtractFileName(string(URL));
sbMain.SimpleText := ExtractFileName(string(URL));
aWebBrowser.Visible := true;
awebBrowser.Navigate(string(URL));
Cancel := true;
end;
end;
var ppDisp: IDispatch; var Cancel: WordBool);
var
tabwb:TWebBrowser;
aa:integer;
begin
tabwb:=TWebBrowser.Create(self);
tabwb.SetBounds(0,0,tabwb.Width,tabwb.Height);
tabwb.Align:=alClient;
ppDisp := tabwb.DefaultInterface;
end;
用的是tembeddedwb控件,在大富翁得到的答案。
不过还是放分。 等再跟几个人就结