Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: Webbrowser mit Tabsheets, Zurück/Vorwärts Button spinnt.

  Alt 25. Mai 2005, 08:54
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
Thomas
  Mit Zitat antworten Zitat