Scrollbar programmgesteuert setzen
Verfasst: 28.03.2008 10:47
Hallo alle zusammen. Nach einigen Versuchen mit anderen Programmiersprachen bin ich hier bei PureBasic gelandet und mache nun meine ersten Gehversuche. Das erste Problem das ich mit der Hilfe + Suche im Forum nicht lösen kann ist das (programmgesteuerte) Verschieben der rechten Scrollbar im Gadget. Es soll stets die letzte Zeile sichtbar sein, da weitere Zeilen durch ein externes Ereignis hinzugefügt werden. Damit klar ist was ich meine:
Hab's probiert mit
SetGadgetAttribute(comwin, #PB_ScrollArea_Y, 150)
hat aber irgendwie nichts gebracht.
Wer ist so nett und hilft mir mit einem Tipp weiter?
Vielen Dank im Voraus
Code: Alles auswählen
version$="V2.00"
;Festlegung der Position + Größe des Hauptfensters
main_xpos.w =100
main_ypos.w =100
main_xwidth.w =600
main_ywidth.w =600
;Festlegung der Position + Größe der COM-Window
com_xpos.w =20
com_ypos.w =120
com_xwidth.w =main_xwidth-2*com_xpos
com_ywidth.w =main_ywidth-com_ypos-40
mainwin.w =0
comwin.w =10
If OpenWindow(mainwin, main_xpos, main_ypos, main_xwidth, main_ywidth, version$)And CreateGadgetList(WindowID(mainwin))
If CreateMenu(mainwin, WindowID(mainwin))
MenuTitle("File")
;Die 1 im nächsten Aufruf ist die ID des Events
MenuItem(1, "Quit")
EndIf
EditorGadget(comwin, com_xpos, com_ypos, com_xwidth, com_ywidth,#PB_Editor_ReadOnly)
SetGadgetColor(comwin, #PB_Gadget_BackColor,RGB(230,230,255))
SetGadgetColor(comwin, #PB_Gadget_FrontColor,RGB(0,0,255))
;TextGadget(comwin, 10, 90, 200, 40, "TEST"+Chr(10)+"hhh")
For a = 0 To 500
AddGadgetItem(comwin, a, "Line "+Str(a))
Next
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Menu
Select EventMenu()
Case 1
Quit=1
EndSelect
Case #PB_Event_CloseWindow ; If the user has pressed on the close button
Quit = 1
EndSelect
Until Quit = 1
EndIf
SetGadgetAttribute(comwin, #PB_ScrollArea_Y, 150)
hat aber irgendwie nichts gebracht.
Wer ist so nett und hilft mir mit einem Tipp weiter?
Vielen Dank im Voraus

Code: Alles auswählen