Editor Gadget scroll / Log Bildschirm

Anfängerfragen zum Programmieren mit PureBasic.
SpecialDXX
Beiträge: 29
Registriert: 08.07.2007 17:52
Kontaktdaten:

Editor Gadget scroll / Log Bildschirm

Beitrag 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
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Editor Gadget scroll / Log Bildschirm

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
SpecialDXX
Beiträge: 29
Registriert: 08.07.2007 17:52
Kontaktdaten:

Re: Editor Gadget scroll / Log Bildschirm

Beitrag von SpecialDXX »

Ja, bei diesem Code scrollt er aber nicht automatisch nach unten...
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Editor Gadget scroll / Log Bildschirm

Beitrag 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...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Antworten