Du kannst einfach fuer jeden Webbrowser den Vor & Zurueck Button Status speichern,
indem du:
// Den Webbrowser um Vor & Zurueck Status erweiterst:
Delphi-Quellcode:
type
TWebbrowser = class(SHDocVw.TWebbrowser)
private
// Save CSC_NAVIGATEFORWARD and CSC_NAVIGATEBACK states
FNavForward: Boolean;
FNavBack: Boolean;
public
end;
.....
// Im OnCommandStateChange werden die Stati gesetzt
Delphi-Quellcode:
procedure TfrmMyBrowser.WebBrowser1CommandStateChange(Sender: TObject;
Command: Integer; Enable: WordBool);
begin
case Command of
CSC_NAVIGATEBACK: begin
// CSC_NAVIGATEBACK Status vom aktuellen Webbrowser speichern
TWebbrowser(Sender).FNavBack := Enable;
ToolbtnBack.Enabled := Enable;
end;
CSC_NAVIGATEFORWARD: begin
// Save CSC_NAVIGATEFORWARD Status vom aktuellen Webbrowser speichern
TWebbrowser(Sender).FNavForward := Enable;
ToolBtnForward.Enabled := Enable;
end;
end;
end;
// Wenn der User ein anderes Tab auswaehlt, dann den Status
// vom Vor u. Zurueck Button aendern.
Delphi-Quellcode:
procedure TfrmMyBrowser.PageControlChange(Sender: TObject);
begin
// Set Toolbutton State Back Forward
ToolbtnBack.Enabled := TWebbrowser(ActivePage.Controls[0]).FNavBack;
ToolBtnForward.Enabled := TWebbrowser(ActivePage.Controls[0]).FNavForward;
end;
Bei erzeugen eines neuen Browsers muss immer
Delphi-Quellcode:
NeuerWebbrowser.FNavForward := False;
NeuerWebbrowser.FNavBack := False;
gesetzt werden