动态生成的WebBrowser2如何处理事件?(100分)

  • 主题发起人 主题发起人 mycoolis2
  • 开始时间 开始时间
M

mycoolis2

Unregistered / Unconfirmed
GUEST, unregistred user!
动态生成的WebBrowser2如何处理事件?

Form1上有一个webbrowser1,事件
procedure TForm1.WebBrowser1TitleChange(Sender: TObject;
const Text: WideString);
begin
showmessage(text);
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
showmessage('complete');
end;

还有一个var webbrowser2:twebbrowser;

procedure TForm1.FormCreate(Sender: TObject);
var t:twebbrowserdocumentcomplete;
begin
webbrowser2:=twebbrowser.Create (self);
webbrowser2.OnDocumentComplete :=WebBrowser1DocumentComplete;
webbrowser2.OnTitleChange :=WebBrowser1TitleChange;
end;

OnTitleChange正常,而OnDocumentComplete没反应,why?
 
OnDocumentComplete 如何定向到一个函数里?
webbrowser2.OnDocumentComplete :=myDocumentComplete;
没用,不起反应!
 
你看看DevExpress EBar中的一个例子,有关于WebBrower动态生成的。

procedure TMainForm.FormCreate(Sender: TObject);
const
Filter = 'Rich Text Files (*.RTF)|*.RTF';
begin
HTML := TWebBrowser.Create(HTMLPanel);
TWinControl(HTML).Parent := HTMLPanel;

HTML.OnDocumentComplete := DocumentComplete;
HTML.OnProgressChange := ProgressChange;
HTML.OnBeforeNavigate2 := BeforeNavigate;
HTML.OnStatusTextChange := StatusTextChange;
HTML.OnTitleChange := TitleChange;

HTML.Align := alClient;

Address := '';
ShortDateFormat := 'mm/dd/yyyy';
UpdateCombo := True;
OpenDialog.Filter := Filter;
SaveDialog.Filter := Filter;
OpenDialog.InitialDir := ExtractFilePath(ParamStr(0));
SaveDialog.InitialDir := OpenDialog.InitialDir;
Editor.Clear;
PanelRE.Visible := False;
SetModified(False);
ShowItems(False);
BarManager.LockUpdate := True;
UpdateToolBar(0);
BarManager.LockUpdate := False;
HistoryIndex := -1;
HistoryList := TStringList.Create;
tProducts.Close;
tContacts.Close;
tProducts.Open;
tContacts.Open;
dxDate.Text := '';
end;



procedure TMainForm.DocumentComplete(Sender: TObject; pDisp: IDispatch; var URL: OleVariant);
begin
dxBarProgress.Position := 0;
end;
 
有个问题是,是不是parent必须是vcl
 
接受答案了.
 
后退
顶部