Seite 1 von 1

EditorGadget als Logfenster. Wie immer die unterste Zeile an

Verfasst: 22.02.2011 16:59
von SebastianJu2
Ich habe ein EditorGadget als Logfenster benutzt. Dabei schreibe ich immer mit AddGadgetItem() eine neue Zeile ans Ende. Allerdings sieht man immer nur die ersten Zeilen also keine aktuellen Logzeilen. Ich habe auch keine Option dafür gefunden.

Wie bekomme ich es hin dass immer die letzten Zeilen gezeigt werden? Ich will auch nicht Das log umdrehen und oben die aktuellen Zeilen anfügen.

Re: EditorGadget als Logfenster. Wie immer die unterste Zeil

Verfasst: 22.02.2011 17:03
von Kiffi
Wenn Du ein ListviewGadget anstelle des EditorGadgets verwendest, kannst Du folgenden Code nehmen:

Code: Alles auswählen

SetGadgetState(DeinListViewGadget, CountGadgetItems(DeinListViewGadget) - 1)
Ansonsten lässt sich das IMO nur mit API regeln: http://www.purebasic.fr/german/viewtopi ... 78#p233978

Grüße ... Kiffi

Re: EditorGadget als Logfenster. Wie immer die unterste Zeil

Verfasst: 22.02.2011 17:21
von SebastianJu2
Ich habe es jetzt mit der API versucht aber noch keinen Erfolg gehabt. Ist die GadgetID eine andere als die aus PB? In der Doku zur API steht dass das Handle des Fensters da drin steht.
Ich habe es an den Anfang und ans Ende gesetzt aber kein Effekt.

Code: Alles auswählen

SendMessage_(LogEditorHandle,#EM_SCROLL,#SB_BOTTOM,0)

Re: EditorGadget als Logfenster. Wie immer die unterste Zeil

Verfasst: 22.02.2011 17:29
von Kiffi

Code: Alles auswählen

#Window=0
#Editor=0
#Timer=0

OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 200, "")
EditorGadget(#Editor, 0, 0, 300, 200)
AddWindowTimer(#Window, #Timer, 100)

Repeat
  
  Select WaitWindowEvent()
      
    Case #PB_Event_Timer
      AddGadgetItem(#Editor, -1, Str(CountGadgetItems(#Editor)))
      SendMessage_(GadgetID(#Editor),#EM_SCROLL,#SB_BOTTOM,0)
      
    Case #PB_Event_CloseWindow
      Break
      
  EndSelect
  
ForEver
Grüße ... Kiffi

Re: EditorGadget als Logfenster. Wie immer die unterste Zeil

Verfasst: 22.02.2011 18:04
von SebastianJu2
Nach langem Suchen fand ich warum es bei deinem Code klappt und bei meinem nicht... Ich hatte das EditorGadget schon mit einem ListViewGadget ausgetauscht und dann nicht mehr dran gedacht... :P

Aber klappt jetzt... immer für alle OS zu coden scheint eh ziemlich schwer zu sein wenn man das durchziehen will.

Danke!

Re: EditorGadget als Logfenster. Wie immer die unterste Zeil

Verfasst: 22.02.2011 18:11
von Kiffi
SebastianJu2 hat geschrieben:Ich hatte das EditorGadget schon mit einem ListViewGadget ausgetauscht und dann nicht mehr dran gedacht... :P
wenn Du auch gleichzeitig die Variable 'LogEditorHandle' getauscht hättest,
wäre das vielleicht früher aufgefallen. ;-)

Grüße ... Kiffi

Re: EditorGadget als Logfenster. Wie immer die unterste Zeil

Verfasst: 22.02.2011 18:12
von SebastianJu2
Ja... nur dummerweise war ich noch nicht so weit als ich entschied dass die API wohl doch besser ist... ;)