Aktuelle Zeit: 13.12.2018 10:26

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 02.02.2018 13:03 
Offline

Registriert: 19.10.2014 15:51
Ich suche eine Möglichkeit für ein ListIconGadget oder Webgadget oder irgendein anderes Gadget, wo Text rein kann, automatisch bis ganz nach unten zu scrollen.
Ich brauche das für eine Chatbox.
Im Spiederbasic-Forum finde ich leider nichts.
Geht das vielleicht mit Javascript?
Hat jemand eine Idee?

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 02.09.2018 23:12 
Offline

Registriert: 19.10.2014 15:51
Nun habe ich vor geraumer Zeit eine Möglichkeit gefunden mit einem Textgadget zu scrollen.
Aber ich brauche auch eine Lösung für ein Editorgadget.
Hat jemand eine Idee, wie man bei einem Editorgadget automatisch nach unten scrollen kann?

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 03.09.2018 00:34 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
stevie1401 hat geschrieben:
Nun habe ich vor geraumer Zeit eine Möglichkeit gefunden mit einem Textgadget zu scrollen.

schade, dass Du Deine Lösung dann nicht den anderen mitgeteilt hast.

stevie1401 hat geschrieben:
Hat jemand eine Idee, wie man bei einem Editorgadget automatisch nach unten scrollen kann?

eine Möglichkeit:
Code:
OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

EditorGadget(0, 8, 8, 306, 133)

SetGadgetText(0, "Line 01" + #LF$ +
                 "Line 02" + #LF$ +
                 "Line 03" + #LF$ +
                 "Line 04" + #LF$ +
                 "Line 05" + #LF$ +
                 "Line 06" + #LF$ +
                 "Line 07" + #LF$ +
                 "Line 08" + #LF$ +
                 "Line 09" + #LF$ +
                 "Line 10" + #LF$ +
                 "Line 11")

gid = GadgetID(0)
! v_gid.gadget.textbox.scrollIntoView()
SetActiveGadget(0)

_________________
ƃᴉɹǝᴉʍɥɔs ʇsᴉ ɥɔɐɟuᴉǝ


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 03.09.2018 10:51 
Offline

Registriert: 19.10.2014 15:51
Hey Kiffi, dein Beispiel funktioniert bei mir leider nicht.
Liegt es an dieser Zeile:
! v_gid.gadget.textbox.scrollIntoView()

Da steht textbox und nicht editorgadget?

Und hier die beiden Proceduren, die es ermöglichen in einer Textbox zu scrollen:

Code:
Procedure ScrollDown(aGadget)
  Protected chatid = GadgetID(aGadget)
 
  !$(v_chatid.div).animate({scrollTop: $(v_chatid.div).prop("scrollHeight")}, 0);
EndProcedure

Procedure ScrollEnable(aGadget)
  Protected chatid
 
  chatid = GadgetID(aGadget)
  !$(v_chatid.div).css("overflow", "scroll")
EndProcedure



ScrollEnable(meinTextGadget) muss gleich nach dem Erstellen des Textgadget ausgeführt werden.
Danach kann man bei Bedarf Text dem Textgadget hinzugefügt werden und dann mit:

ScrollDown(meinTextGadget)
automatisch nach unten scrollen.

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 03.09.2018 11:22 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
stevie1401 hat geschrieben:
Da steht textbox und nicht editorgadget?

nee, das stimmt schon so. Das ist eine dijitTextBox.

stevie1401 hat geschrieben:
dein Beispiel funktioniert bei mir leider nicht.

seltsam. Gibt's eine Fehlermeldung (in der Konsole (F12))?

Grüße ... Peter

Nachtrag: Im IE funktioniert es in der Tat nicht (der IE mal wieder... >_<).

_________________
ƃᴉɹǝᴉʍɥɔs ʇsᴉ ɥɔɐɟuᴉǝ


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 04.09.2018 10:06 
Offline

Registriert: 19.10.2014 15:51
Ich habe den Fehler gefunden.
Ich habe das Gadget nicht aktiv gesetzt.

SetActiveGadget(meinEditorgadget) fehlte. Ohne das Aktivsetzen scheint es nicht zu funktionieren.
Leider möchte ich nach dem Laden von Text in das Editorgadget und dem Runterscrollen ein Eingabetextgadget aktiv setzen. Aber wenn ich das mache, funktioniert das Scrollen nicht mehr.
Aber vielleicht kann ich da eine Pause einbauen oder so.
Erst einmal vielen Dank!

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadgets automatisch nach unten scrollen
BeitragVerfasst: 04.09.2018 12:19 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
für das ListViewGadget und das ListIconGadget habe ich jetzt eine SetGadgetStateEx() - Funktion geschrieben.
Wenn Du magst, kannst Du das ja mal ausprobieren:

Code:
EnableExplicit

Procedure SetGadgetStateEx(Gadget, SelectedItem)
 
  Select GadgetType(Gadget)
     
    Case #PB_GadgetType_ListView, #PB_GadgetType_ListIcon
     
      ! setTimeout( function() {
     
      SetGadgetState(Gadget, SelectedItem)
     
      ! if (($(spider_GadgetID(v_gadget).div).find(".dgrid-selected")).length > 0) {
      !   spider_GadgetID(v_gadget).gadget.scrollTo({x:0,y:$(spider_GadgetID(v_gadget).div).find(".dgrid-selected").position().top});
      ! } else {
      !   spider_GadgetID(v_gadget).gadget.scrollTo({x:0,y:0});
      ! }
     
      ! }, 10);
     
    Default
     
      Debug "Unsupported Gadget"
     
  EndSelect
 
EndProcedure

Enumeration
  #Window
  #ListViewGadget
  #ListIconGadget
EndEnumeration

Define Counter

OpenWindow(#Window, 0, 0, 510, 140, "ScrollIntoView", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

; ######################
; # ListViewGadget
; ######################

ListViewGadget(#ListViewGadget, 10, 10, 250, 120)

For Counter = 1 To 12
  AddGadgetItem (#ListViewGadget, -1, "Line " + Str(Counter) + " of the ListViewGadget")
Next

SetGadgetStateEx(#ListViewGadget, 10)

; ######################
; # ListIconGadget
; ######################

ListIconGadget(#ListIconGadget, 260, 10, 250, 120, "First Column", 200)

For Counter = 1 To 12
  AddGadgetItem (#ListIconGadget, -1, "Line " + Str(Counter) + " of the ListIconGadget")
Next

SetGadgetStateEx(#ListIconGadget, 10)


Grüße ... Peter

_________________
ƃᴉɹǝᴉʍɥɔs ʇsᴉ ɥɔɐɟuᴉǝ


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye