首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi 动态创造 twebbrowser 并添加事件处理函数

2013-02-27 
delphi动态创建 twebbrowser 并添加事件处理函数要求:(1)delphi语言动态创建 twebbrowser控件(2) 添加事件

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

谢谢! delphi
[解决办法]
写了个简单的模板,其他事件自己添加下。


unit Unit1;

interface

uses
  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.

热点排行