Seite 1 von 1

Editor Gadget scroll / Log Bildschirm

Verfasst: 09.12.2011 22:04
von SpecialDXX
Hallo,

ich möchte Logs mit hilfe eines EDITOR Gadgets anzeigen lassen. Das Problem ist nur, dass er nicht automatisch scrollt. Den rechten Balken für hoch und runter kann vorhanden bleiben um auch ältere Logs anzusehen. Eine unteren benötige ich nicht... Breite ausreichent. Aber das Gadget muss automatisch scrollen. Wie stelle ich das am Besten an. Hab schon einiges ausprobiert, nichts geht richtig. Die Zeilen füllen zimlich schnell. Somit muss das Gadget auch schnell reagieren. Es bleibt nicht viel Zeit vom Scrollen.

Liebe Grüße
Bernd

Re: Editor Gadget scroll / Log Bildschirm

Verfasst: 09.12.2011 22:14
von RSBasic
Beispielsweise:

Code: Alles auswählen

EnableExplicit

Define EventID

Procedure Thread(z)
  ;Thread nur zum Testen
  
  Repeat
    AddGadgetItem(1,-1,"Textzeile",0,0)
    
    Delay(10)
  ForEver
  
EndProcedure

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(1,0,0,WindowWidth(0),WindowHeight(0),0)
  SetActiveGadget(1)
  
  CreateThread(@Thread(),0)
  
  Repeat
    EventID=WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Editor Gadget scroll / Log Bildschirm

Verfasst: 09.12.2011 23:15
von SpecialDXX
Ja, bei diesem Code scrollt er aber nicht automatisch nach unten...

Re: Editor Gadget scroll / Log Bildschirm

Verfasst: 09.12.2011 23:51
von Bisonte
Immer wenn eine Zeile dazu kommt ein SendMessage_(GadgetID(#EditorGadget),#EM_SCROLL,#SB_BOTTOM,0)
und es wird immer an die letzte Zeile gescrollt...

so sollte es gehen

Edit... oh moment... RSBasics Code scrollt doch immer in die letzte Zeile...
ersetze doch die Thread prozedure durch

Code: Alles auswählen

Procedure Thread(z)
  ;Thread nur zum Testen
  Static xx
  
  Repeat
    AddGadgetItem(1,-1,"Textzeile "+Str(xx),0,0)
    xx + 1 
    Delay(10)
  ForEver
 
EndProcedure
dann kannst du es besser sehen...