Thema: Delphi Scrollen im TWebBrowser

Einzelnen Beitrag anzeigen

Ungeübter

Registriert seit: 29. Mai 2004
16 Beiträge
 
#7

Re: Scrollen im TWebBrowser

  Alt 31. Mai 2004, 20:07
@Luckie:

Downloaden kann ich sie schon, allerdings stimmen, aufgrund der relativen Adressierung, dann die Beziehungen zwischen der Seite und allen anderen, welche ebenfalls auf dem Server liegen, nicht mehr.

@jAcK oRsEn:

Unter Einbindung der mshtml-uses funktioniert nun auch die zweite der Möglichkeiten, welche ich eingangs gepostet habe.
Leider mit dem selben Ergebnis, allerdings konnte ich den Fehler reproduzieren. Bei normalen Webseiten u.ä. funktionieren beide Möglichkeiten einwandfrei, bei dem Öffnen von Threads wird jedoch in manchen Foren gespeichert, welches der letzte gelesene Beitrag war. Öffnet man nun diesen Thread und versucht an das untere Ende des Dokumentes zu gelangen, bleibt regelmäßig ein Abstand zur Unterkante.
Das Hochscrollen geht dagegen fehlerlos.

@himitsu:

Die Befehle funktionieren auf jeden Fall erstmal, bei der genannten Problematik klappt es allerdings auch nicht (zuverlässig nach unten scrollen). Ich hatte es so versucht:

Code:
OleVariant(WebBrowser1.Document as IHTMLDocument2).Body.ScrollTop := WebBrowser1.OleObject.Document.ParentWindow.Screen.Height;
OleVariant(WebBrowser1.Document as IHTMLDocument2).Body.ScrollLeft := 0;

@All:

Eine, wenn auch sehr rustikale, Möglichkeit welche ich man benutzen kann, ist es dem Dokument den Fokus zu übergeben und die Eingabe der Taste "Ende" zu simulieren. Dabei habe ich bisher noch keine Fehler entdecken können. Allerdings habe ich bisher keine vernünftige Anweisung herausbekommen, um dem Dokument, welches innerhalb des Webbrowsers angezeigt wird, den Fokus zuzuweisen. Und mit einem simulierten Mausklick zu arbeiten ist ein bisschen Vielleicht weiß ja einer eine Möglichkeit, bitte posten.


Neben diesem habe ich noch ein kleines weiteres Problem, welches aber eigentlich simpel sein müsste. Na ja, eben müsste.
Es geht um eine schlichte Umleitung wiederum mit dem TWebBrowser. Laut der Hilfe von Delphi müsste eigentlich folgendes funktionieren:

Code:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin

  URL := 'http://www.google.de';

end;
Wie gesagt, die Delphihilfe spricht davon, dass das Verändern des Strings URL zum Umleiten genügen müsste. Nur tut es das bei mir nicht, die ursprünglich angeforderte Webseite wird normal geladen.
  Mit Zitat antworten Zitat