要求:
(1)delphi语言动态创建 twebbrowser控件
(2) 添加事件处理函数DocumentComplete
(3) 添加事件处理函数BeforeNavigate2谢谢!delphi

解决方案 »

  1.   

    写了个简单的模板,其他事件自己添加下。
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, SHDocVw;type
      TForm2 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
        aWebBrws: TWebBrowser;
        procedure MyDocumentComplete(Sender: TObject; const pDisp: IDispatch;
          var URL: OleVariant);
        procedure MyBeforeNavigate2(Sender: TObject; const pDisp: IDispatch;
          var URL: OleVariant;
          var Flags: OleVariant; 
          var TargetFrameName: OleVariant; 
          var PostData: OleVariant;
          var Headers: OleVariant; 
          var Cancel: WordBool);
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.FormCreate(Sender: TObject);
    begin
      aWebBrws := TWebBrowser.Create(Self);
      Self.InsertControl(aWebBrws);
      aWebBrws.OnDocumentComplete := MyDocumentComplete;
      aWebBrws.OnBeforeNavigate2 := MyBeforeNavigate2;
    end;procedure TForm2.FormDestroy(Sender: TObject);
    begin
      if Assigned(WebBrowser1) then
        FreeAndNil(WebBrowser1);
    end;procedure TForm2.MyBeforeNavigate2(Sender: TObject; const pDisp: IDispatch;
      var URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
      var Cancel: WordBool);
    begin
      //do something
    end;procedure TForm2.MyDocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    begin
      //do something
    end;end.