![]() |
Frage zu Dokument-höhe im TWebBrowser
Hallo Leute!
Ich wollte eine HTML-Datei scrollen lassen und sobald das Ende erreicht ist, soll diese wieder von oben anfangen zu scrollen. Folgende Testprozedur habe ich:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin WebBrowser1.OleObject.Document.ParentWindow.ScrollTo(0,browser_y); if NOT (browser_y+1>WebBrowser1.OleObject.Document.Body.ScrollHeight) then browser_y:=browser_y+1 else if (browser_y=WebBrowser1.OleObject.Document.Body.ScrollHeight) then browser_y:=0 else browser_y:=WebBrowser1.OleObject.Document.Body.ScrollHeight; Label3.Caption:=IntToStr(WebBrowser1.OleObject.Document.Body.ScrollHeight); Label4.Caption:=IntToStr(browser_y); Timer1.Interval:=50; end; Das Problem ist, dass die Scrollhöhe leider nicht das gewünschte Ergebnis liefert, da diese leider nicht das genaue Ende des Scrollens angibt. Ich möchte aber, sobald die Scrollbar das untere Ende erreicht hat, dass diese wieder direkt nach oben springen soll! Hat dort jemand eine Idee? |
Re: Frage zu Dokument-höhe im TWebBrowser
Hallo,
Ist schon etwas seltsam.. Workaround: - Aktuelle Y-Position der Scrollbar ermitteln - ScrollTo(..) - Neue Y-Position der Scrollbar ermitteln Falls Aktuelle <> Neue dann ganz nach oben scrollen. Zum Ermitteln der Scrollbar-Positionen kannst du diese Funktion verwenden: ![]() (Mit evtl. Anpassung an deine Bedürfnisse) |
Re: Frage zu Dokument-höhe im TWebBrowser
Hast du schon ein Lösung gefunden resp. funktioniert mein Vorschlag?
|
Re: Frage zu Dokument-höhe im TWebBrowser
Hallo toms,
ich bin bis gerade noch nicht zum ruhigen Lesen gekommen, da ich momentan einigermaßen unter Stress stehe. Wenn ich mir das so durchlese, dann finde ich das eher seltsam. Aktuelle <> Neue ist doch schon, nachdem ich nur einen runtergescrollt bin? Nach oben gescrollt werden soll aber erst, nachdem ich GANZ UNTEN angekommen bin. ;) |
Re: Frage zu Dokument-höhe im TWebBrowser
dann versuch's mal so :angel:
if Aktuelle = Neue then ScrollWiederHoch; |
Re: Frage zu Dokument-höhe im TWebBrowser
Ich verstehe nicht so ganz, was ihr mit aktuell und Neu wollt. Weil es wird mehr als einmal gescrollt (nämlich alle 50ms um 1px nach unten!). Es ist ja nunmal so, dass mir der max. Wert fehlt.
|
Re: Frage zu Dokument-höhe im TWebBrowser
Die Idee ist, nicht zu prüfen, ob du die maximale Höhe erreicht hast, sondern ob das Scrolling nach unten überhaupt ausgeführt wurde - denn wenn du bereits unten bist, tut der Borwser ja nix mehr und die Position bleibt gleich.
|
Re: Frage zu Dokument-höhe im TWebBrowser
Ja ok, nach 48h ohne Schlaf ist das Denken nicht mehr sehr einfach. :D
Aber nun funktionierts.^^ Dankeschön und gute Nacht^^ |
Re: Frage zu Dokument-höhe im TWebBrowser
Zitat:
(Vielleicht war es aber auch Absicht?!? :roll: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz