Seite 1 von 1

Editorgadget bis zum ende scrollen ?

Verfasst: 12.07.2013 01:57
von kevv
Hey Leute
Ich möchte beim Editorgadget immer den letzten Eintrag sehen
er soll also immer selber bis zum Ende scrollen.
Unter Windows ist das auch kein Problem, aber wie steht´s bei Linux ?

Beispiel unter Windows

Code: Alles auswählen

EnableExplicit

Define a

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(1,10,10,480,230,0)
  
 
  For a=1 To 50
    AddGadgetItem(1,-1,"Teststring",0,0)
    SendMessage_(GadgetID(1),#EM_SCROLL,#SB_LINEDOWN,0) ;Zeile nach unten scrollen
  Next
  
  SendMessage_(GadgetID(1),#EM_SCROLL,#SB_BOTTOM,0) ;Bis zum Ende scrollen
  
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: Editorgadget bis zum ende scrollen ?

Verfasst: 12.07.2013 04:19
von Derren
http://forums.purebasic.com/german/view ... 21&t=21580



WTF? in dem thread war ich doch gar nicht. t = 21580 sollte eigtl. gepostet werden oO

Re: Editorgadget bis zum ende scrollen ?

Verfasst: 12.07.2013 08:21
von Shardik
Derren,
beim Kopieren Deines Links scheint etwas schiefgegangen zu sein! Der Quellcode Deines Links behandelt das Abfangen von Signalen (wie z.B. das Kill-Signal) in Linux... :wink:

kevv,
hier sind zwei Beispiele aus dem englichen Forum:
- Zeile am Ende einfügen (freak)
- Scrolling an das Ende eines Textes (dhouston)

Ich habe Dein Beispiel mit freaks Methode einmal entsprechend angepaßt:

Code: Alles auswählen

EnableExplicit

Define a
Define *Adjustment.GtkAdjustment

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(1,10,10,480,230,0)
  
  For a=1 To 50
    AddGadgetItem(1,-1,"Teststring " + Str(a),0,0)
    *Adjustment = gtk_scrolled_window_get_vadjustment_(gtk_widget_get_parent_(GadgetID(1)))
    *Adjustment\value = *Adjustment\upper
    gtk_adjustment_value_changed_(*Adjustment)     
  Next
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: Editorgadget bis zum ende scrollen ?

Verfasst: 12.07.2013 15:19
von kevv
Danke dir Shardik
Funzt Wunderbar !