Webbrowser und Links
-
Wie sollte es auch anders sein, ich hab nochmal ne Frage Sorry
Ich hab auf ein Formular eine Webbrowserkomponente abgelegt in der eine Website geladen wird die verschiedene Optionen bietet (Wie bei Outlook).
Wie kann ich es nun bewerkstelligen, dass solbald der Nutzer auf einen der Links klickt aber keine Webseite geladen wird, sondern direkt eine Funktion in meinem Programm gestartet wird??
-
Vielleicht hilft TCppWebBrowser::OnBeforeNavigate2 weiter? Dort findest auch auch einen VARIANT_BOOL Zeiger, namens "Cancel"...
-
Das sieht ja schonmal gut aus, aber was sind das für operator members?
Ich hab versucht einfach nur die Adresse des links anzuzeigen, aber finde nicht die passende funktion.
Könnten Sie mir eine zeile posten, wie der Aufruf dazu erfolgen könnte??
Besten Dank ...
:p
-
Ok die Adresse anzeigen klappt schonmal, aber wie benutze ich den *Cancel Parameter???? den die mebervariablen werden alle als operator =: short odr int... angezeigt?
-
Hallo,
also um den WebBrowser navigieren zu lassen, nimmst du:
CppWebBrowser1->Navigate(WideString("http://www.rowisoft.de"));und um zu sehen wohin du navigierst, kannst du die Variable URL nehmen. URL ist ein Zeiger auf Variant. Ich glaub am einfachsten ist es zu erklären, mit nem kleinem Beispiel:
void __fastcall TForm1::CppWebBrowser1BeforeNavigate2(TObject *Sender, LPDISPATCH pDisp, Variant *URL, Variant *Flags, Variant *TargetFrameName, Variant *PostData, Variant *Headers, VARIANT_BOOL *Cancel) { String temp = *URL; if (temp != "http://www.rowisoft.de/") { ShowMessage("STOP"); *Cancel = VARIANT_TRUE; } else ShowMessage("Öffne Seite: "+temp); }
Grüße mit Eigenwerbung
Robert
-
Wow, ziemlich klasse! was soll ich da noch sagen außer vieeeeeeeeeeeeeellllllllllllllllllen Dank!
Nette Webseite übrigens
-
Hallo nochmal,
was ich dir noch mitgeben möchte:
http://www.volkard.de/vcppkold/zeiger.htmlDu solltest dir das Thema Zeiger wirklich genauer ansehen, wenn du damit noch nicht klar kommst! Ist - gerade in C++ - sehr wichtig und da wirst du nicht drum rum kommen!
Grüße,
Robert