![]() |
webbrowser scrollbar...?
Hallo Leute,
So ich bins mal wieder :mrgreen: Und zwar geht es dieses mal um die Webbrowser komponente genauer um die EmbeddedWB Komp. Ich habe jetzt rausgefunden wie ich auf einer Website an einen beliebigen Ort scrollen kann, das mache ich über folgenden Code:
Delphi-Quellcode:
Jetzt möchte ich aber dass der benutzer nur nach weiter unten und nicht rauf scrollen kann.
EmbeddedWB1.OleObject.Document.ParentWindow.ScrollTo(0, 500);
Ich würde jetzt mit einer IF Abfrage überprüfen ob die scrollbar pos. kleiner als 500 ist, aber leider kenne ich diese Option nicht! Ich habe schon vieles probiert:
Delphi-Quellcode:
Nur leider habe ich bis jetzt noch nicht den richtigen Code gefunden :(
If EmbeddedWB1.OleObject.Document.ParentWindow < 500 then
If EmbeddedWB1.OleObject.Document.ParentWindow.Scrollbar.Position < 500 then If EmbeddedWB1.OleObject.Document.ParentWindow.Scrollbar < 500 then u.s.w. Könnte mir da vielleicht jemand helfen? Das dumme ist ja das mit Delphi bei diesen optionen keine Auswahlmöglichkeiten bietet. Achja nochwas wo müsste ich die Abfrage reinmachen? OnChange oder so was ähnliches gibts ja nicht, ich würde jetzt einfach mal raten OnNavigateComplete2 ?? So vielen dank schonmal mfg headi |
Re: webbrowser scrollbar...?
Hi!
Die Position bekommst du einfach mit
Delphi-Quellcode:
Setzen der Position geht damit auch. Ich kann dir allerdings nicht sagen, ob es dir etwas nützt.
((EmbeddedWB1.Document as IHTMLDocument2).body as IHTMLElement2).scrollTop
|
Re: webbrowser scrollbar...?
Zitat:
das mit dem setzen habe ich schon gewusst, aber fand meine methode irgendwie einfacher. Jetzt habe ich aber noch ein Problem, und zwar habe ich jetzt rausgefunden wo ich diesen code einfügen muss, was auch super funktioniert. Allerdings erst nach einer Fehlermeldung beim start. Ich denke mal das liegt daran, dass das document noch nicht fertig geladen ist ...?? Also ich habe folgenden code:
Delphi-Quellcode:
Vielen dank nochmals.
function TForm1.EmbeddedWB1UpdateUI: HRESULT;
begin if ((EmbeddedWB1.Document as IHTMLDocument2).body as IHTMLElement2).scrollTop < 500 then EmbeddedWB1.OleObject.Document.ParentWindow.ScrollTo(0, 500); end; mfg headi |
Re: webbrowser scrollbar...?
Da müsste dann das Übliche helfen
Delphi-Quellcode:
Am besten direkt vor dem Versuch das Dokument anzusprechen.
while EmbeddedWB1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages;
|
Re: webbrowser scrollbar...?
Zitat:
funktioniert vollkommen ;) mfg headi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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