In Web-Gadget automatisch nach unten scrollen...

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
50-Pfennig
Beiträge: 75
Registriert: 22.01.2007 22:24
Wohnort: 40764 Langenfeld
Kontaktdaten:

In Web-Gadget automatisch nach unten scrollen...

Beitrag von 50-Pfennig »

Hallo,

Weiß jemand, wie man ein Webgadget automatisch nach ganz unten scrollt.

Mit Anker setzen hab ich schon versucht, klappt aber nicht...
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

do sollte gehen (jedenfalls gehts bei mir)

Code: Alles auswählen

 SetGadgetText(30, "C:\Website.htm#"+Str(Zeile))
im htmlcode dann :

Code: Alles auswählen

<a name="10">
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

@ SG:
Anker sind genau das, was du da vorschlägst!

Und 50-Cent könnte mal vorschlagen, welche PB Version er benutzt!

Wenn du 4.00 oder höher hast, kannst du auch alternative Ideen ausprobieren. Zum Beispiel ans Ende einer geladenen HTML-Datei noch ein JavaScript anfügen, welches das Dokument runterscrollt. Mit diesem trick wäre es sogar möglich, nicht nur nach ganz unten zu springen, sondern auch sanft zu scrollen!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Beitrag von freak »

PB 4.10:

Code: Alles auswählen

SetGadgetAttribute(#Web, #PB_Web_ScrollY, 999999)
Natürlich erst aufrufen wenn die Seite auch geladen ist.
(siehe neue WebGadget events oder GetGadgetAttribute(#Web, #PB_Web_Busy))
Benutzeravatar
50-Pfennig
Beiträge: 75
Registriert: 22.01.2007 22:24
Wohnort: 40764 Langenfeld
Kontaktdaten:

Beitrag von 50-Pfennig »

Ja, wie gesagt, mit Ankern hab ichs probiert, hat aber irgendwie nicht geklappt...Ich benutze 4.02 und hab schon probiert das mit JavaScript zu machen, war aber etwas unpraktisch, aber mit dieser "SetGadgetAttribute"-Alternative isses ja sehr praktisch, DANKE!!! :D
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Stimmt. Daran hatte ich nicht gedacht.
Denk dran, auch hier kannst du mittels Schleifen erreichen, dass sanft nach unten gescrollt wird!
Sieht bestimmt gut aus! <)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
50-Pfennig
Beiträge: 75
Registriert: 22.01.2007 22:24
Wohnort: 40764 Langenfeld
Kontaktdaten:

Beitrag von 50-Pfennig »

Aber Moment, das funktioniert dann nur in PB 4.10??
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Was, das Scrollen?
Das funktioniert schon ab der Version, ab der es schon Set/GetGadgetAttribute() für's WebGadget() gibt. Und For-Schleifen gibt's schon seit PB 1.00 (vermute ich^^).

Oder worauf willst du hinaus?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

AND51 hat geschrieben:Stimmt. Daran hatte ich nicht gedacht.
Denk dran, auch hier kannst du mittels Schleifen erreichen, dass sanft nach unten gescrollt wird!
Sieht bestimmt gut aus! <)
Tja dazu bräuchte man aber die Höhe vor- und nachher in Pixel... komisch das kein Befehl mit eingeführt wurde, der die Webgadget-Höhe wiedergibt.
PB 6.21 | Win 11
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Das ist nicht wahr.
Es gibt sehr wohl einen Befehl, mit dem man die Höhe un die Breite eines WebGadget() ermitteln kann: GetGadgetWidth() und GetGadgetHeight().

Zum Scrollen kannst du damit aber nichts anfangen, denn du brauchst eher GetGadgetAttribute(). Damit kannst du die "innere Höhe" des WebGadget() ermitteln und scrollen. Sieh's dir mal an!

Wenn du dann immer noch ein Beispiel brauchst, sag Bescheid! :wink:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten