Hi,
ich möchte in meinem zur Laufzeit erstellten Tabsheet mittels Button das Tabsheet wieder schließen.
folgenden Code habe ich:
Delphi-Quellcode:
procedure THauptseite.closeButtonClick(Sender: TObject);
begin
if navpagecontrol.ActivePageIndex > 0 then NavPageControl.ActivePage.Free;
end;
// target_new
procedure THauptseite.WebBrowserNewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
TabSheet: TTabSheet;
Web: TWebbrowser;
newNav: TPanel;
closeTabButton: TButton;
begin
TabSheet := TTabSheet.Create(NavPageControl);
TabSheet.PageControl := NavPageControl;
newNav := TPanel.Create(TabSheet);
newNav.parent := TabSheet;
with newNav do begin
height := 30;
align := altop;
end;
closeTabButton := TButton.Create(newNav);
closeTabButton.Parent := newNav;
with closeTabButton do begin
caption := 'closeTab';
width := 60;
height := 20;
top := 5;
end;
CloseTabButton.OnClick := closeButtonClick;
Web := TWebBrowser.Create(TabSheet);
Web := TWebbrowser.CreateParented(TabSheet.Handle);
TabSheet.InsertControl(Web);
Web.Align := alClient;
Web.OnNewWindow2 := WebbrowserNewWindow2;
NavPageControl.ActivePageIndex := NavPageControl.PageCount-1;
ppDisp := Web.DefaultDispatch;
end;
Ist es möglich den bereits vorhandenen Button zu "kopieren" anstatt einen neuen zur Laufzeit zu erstellen?
Ich würde auch gerne die "vor/zurück/aktualsieren" Buttons des "echten" Webbrowsers nutzen/kopieren, so daß sie auch nur im aktiven tabsheet arbeiten.
Zweite Frage: wie bekomme ich nun noch den neuen Locationname in die Tabsheet.caption des neu erzeugten Fensters?