Entwickler-Ecke

Internet / Netzwerk - Webbrowser und Link klick.


DiamondDog - Sa 24.01.09 20:24
Titel: Webbrowser und Link klick.
Hallo Leute,
ich hab da folgendes und zwar rufe ich eine Seite in einem Webbrowser auf, das ganze funktioniert soweit auch super. Meine Frage dazu ist jetzt ist es möglich, das wenn ich dann in Webbrowser1 einen Link anklicke diesen in Webbrowser2 zu öffnen oder sogar in ne Browser in einem neun Formular oder so?

Danke schon mal.

Mfg Dog


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 25.01.2009 um 23:53


jaenicke - Sa 24.01.09 23:28

Fange den Klick in BeforeNavigate2 ab und setze Cancel auf True, damit im WebBrowser nix weiter passiert. In Url hast du den geklickten Link.


DiamondDog - So 25.01.09 14:18

Kannst du mir vll ein Beispiel dafür geben? Ich hab das zwar an sich verstanden aber nicht genau wie ich es umsetzen muss.


jaenicke - So 25.01.09 15:54

Öhm, ich frage mich zwar eigentlich wo das Problem liegt... aber meinetwegen:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Fange den Klick in BeforeNavigate2 ab
Doppelklick auf OnBeforeNavigate2 in den Ereignissen von WebBrowser1, Ergebnis:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin

end;
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
und setze Cancel auf True

Delphi-Quelltext
1:
Cancel := True;                    
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
In Url hast du den geklickten Link.

Delphi-Quelltext
1:
2:
ShowMessage(URL);
// z.B. kannst du URL an WebBrowser2.Navigate übergeben, etc.


Vielleicht hilft dir auch diese Referenz weiter:
http://www.cryer.co.uk/brian/delphi/twebbrowser/twebbrowser_events.htm#OnBeforeNavigate2


DiamondDog - So 25.01.09 17:53

Ahhh ok jetzt hab ich das verstanden...
Besten Dank für die Hilfe.