窗体上放一个WebBrowser
一个后退按钮,一个前进按钮,问题:
   如果有历史页前进和后退按钮可用,否则不可用,像IE浏览器一样。   

解决方案 »

  1.   

    自己用两个stack记录操作记录
      

  2.   

    楼主提的问题实际上和WebBrowser 是没有关系的,是一个业务流程的问题,只要自己的逻辑不错就可以了
      

  3.   

    實現DWebBrowserEvents或者DWebBrowserEvents2接口的CommandStateChange事件,uses
        SHDocVw;constructor TMyIEBrowser.Create(Owner: TComponent);
    begin
      inherited;
      Align := alClient;
      FCanGoBack := False;
      FCanGoForware := False;
      
      OnCommandStateChange := OnIECommandStateChange;
    end;procedure TMyIEBrowser.OnIECommandStateChange(ASender: TObject; Command: Integer;
      Enable: WordBool);
    begin
      case Command of
        CSC_NAVIGATEBACK: FCanGoBack := Enable;
        CSC_NAVIGATEFORWARD: FCanGoForware := Enable;
      end;
    end;
      

  4.   


    type
      TMyIEBrowser = class(TWebBrowser)
      private
        { private declarations }
        FCanGoForware: Boolean;
        FCanGoBack: Boolean;
      protected
        { protected declarations }
        procedure OnIECommandStateChange(ASender: TObject; Command: Integer; Enable: WordBool);
      public
        { public declarations }
        constructor Create(Owner: TComponent); override;
        destructor Destroy; override;    property CanGoBack: Boolean read FCanGoBack;
        property CanGoForware: Boolean read FCanGoForware; 
      end;
      

  5.   

    感谢budded!
    可我实在太菜,目前还无法理解您的代码。其实我只是想在软件里加入公司主页,并实现网页返回和前进。
      

  6.   

    budded使用了继承的方法,这也是最简单的自定义控件方法。如果你需要在设计期看到这个新控件的话,需要把相关单元放到一个Package里面,并安装。