Реагируем на щелчек по ссылке в WebBrowser |
Previous Top Next |
Code: |
{©Drkb v.3(2007): www.drkb.ru}
var Document: IHtmlDocument2; V: Variant;
procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('about:blank'); while WebBrowser1.Document = nil do Application.ProcessMessages; Document := WebBrowser1.Document as IHtmlDocument2; end;
procedure TForm1.Button1Click(Sender: TObject); begin V[0] :='<a href="http://ya.ru">Run</a>'; Document.Writeln(PSafeArray(TVarData(v).VArray)); WebBrowser1.OleObject.Document.ParentWindow.Scroll(0, 10000000); end;
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if url <> 'about:blank' then begin WebBrowser2.Navigate(URL); Cancel := True; end; end; |
Автор: Rouse_
Âçÿòî èç http://forum.sources.ru
©Drkb::03523
Code: |
{©Drkb v.3(2007): www.drkb.ru}
var NavigateTo: Boolean = False;
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if NavigateTo then begin Cancel := True; WebBrowser2.Navigate(URL); end; end;
procedure TForm1.Button2Click(Sender: TObject); begin WebBrowser1.Navigate('about:<a href="http://ya.ru">Run</a>'); NavigateTo := True; end; |
Автор: s-mike
Âçÿòî èç http://forum.sources.ru
©Drkb::03524
OnNewWindow2
Возникает при попытке открыть документ в новом окне. Если Вы хотите, чтобы документ был открыт в Вашем экземпляре броузера, то Вам нужно создать свой экземпляр броузера и параметру ppDisp присвоить интерфейсную ссылку на этот экземпляр:
Code: |
procedure TFormSimpleWB.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var newForm:TFormSimpleWB; begin newForm := TFormSimpleWB.Create(Application); newForm.Show; ppDisp := newForm.WebBrowser1.ControlInterface; end; |
©Drkb::03525
Автор: -TOXA-
Âçÿòî èç http://forum.sources.ru