Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi webbrowser scrollbar...? (https://www.delphipraxis.net/65095-webbrowser-scrollbar.html)

Headi 12. Mär 2006 12:36


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:
EmbeddedWB1.OleObject.Document.ParentWindow.ScrollTo(0, 500);
Jetzt möchte ich aber dass der benutzer nur nach weiter unten und nicht rauf scrollen kann.

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:
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.
Nur leider habe ich bis jetzt noch nicht den richtigen Code gefunden :(
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

Ydobon 12. Mär 2006 20:28

Re: webbrowser scrollbar...?
 
Hi!

Die Position bekommst du einfach mit
Delphi-Quellcode:
((EmbeddedWB1.Document as IHTMLDocument2).body as IHTMLElement2).scrollTop
Setzen der Position geht damit auch. Ich kann dir allerdings nicht sagen, ob es dir etwas nützt.

Headi 12. Mär 2006 21:47

Re: webbrowser scrollbar...?
 
Zitat:

Zitat von Ydobon
Hi!

Die Position bekommst du einfach mit
Delphi-Quellcode:
((EmbeddedWB1.Document as IHTMLDocument2).body as IHTMLElement2).scrollTop
Setzen der Position geht damit auch. Ich kann dir allerdings nicht sagen, ob es dir etwas nützt.

vielen vielen dank!!
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:
function TForm1.EmbeddedWB1UpdateUI: HRESULT;
begin
  if ((EmbeddedWB1.Document as IHTMLDocument2).body as IHTMLElement2).scrollTop < 500 then
  EmbeddedWB1.OleObject.Document.ParentWindow.ScrollTo(0, 500);
end;
Vielen dank nochmals.

mfg headi

Ydobon 12. Mär 2006 23:23

Re: webbrowser scrollbar...?
 
Da müsste dann das Übliche helfen

Delphi-Quellcode:
while EmbeddedWB1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages;
Am besten direkt vor dem Versuch das Dokument anzusprechen.

Headi 13. Mär 2006 15:25

Re: webbrowser scrollbar...?
 
Zitat:

Zitat von Ydobon
Da müsste dann das Übliche helfen

Delphi-Quellcode:
while EmbeddedWB1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages;
Am besten direkt vor dem Versuch das Dokument anzusprechen.

vielen dank nochmals!!
funktioniert vollkommen ;)

mfg headi


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz