Listviewgadget Scollbalken ?

Anfängerfragen zum Programmieren mit PureBasic.
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Listviewgadget Scollbalken ?

Beitrag von amiga123 »

Hallo
Bräuchte mal Hilfe.
Mein Problem ist der Scrollbalken im Listviewgadget.

1.) kann man den Immer einblenden und nicht nur wenn zuviele Einträge vorhanden sind.

2.) wie kann ich die Anzeige automatisch hochscrollen.
Also wenn die Liste länger wird und der Scrollbalken erscheint verschwinden die neuen Einträge unten der Scrollbalken bleibt aber oben.
Es sollen also die neuen Einträge unten angezeigt werden und der Balken müßte nach unten wandern.

Hat jemand eine Idee.

mfg Herb
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

zu 2):
Probiers mal mit SetScrollPos_():

Code: Alles auswählen

SetScrollPos_(#Window,#SB_VERT,Position,#True) 
Win11 x64 | PB 6.20
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Listviewgadget Scollbalken ?

Beitrag von Kiffi »

zu 2):

Wenn Du nach AddGadgetItem() ein SetGadgetState() auf das zuletzt
hinzugefügte Item ausführst, dann schiebt sich der Scrollbar automatisch
nach oben.

Grüße ... Kiffi
a²+b²=mc²
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

auf das einfache komm ich wieder nicht :lol:
Win11 x64 | PB 6.20
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Re: Listviewgadget Scollbalken ?

Beitrag von amiga123 »

Kiffi hat geschrieben:zu 2):

Wenn Du nach AddGadgetItem() ein SetGadgetState() auf das zuletzt
hinzugefügte Item ausführst, dann schiebt sich der Scrollbar automatisch
nach oben.

Grüße ... Kiffi
Hab ich schon probiert, wenn ich das mache ist allerdings der Inhalt nicht mehr zu lesen. warum ?
Erst wen ich ein anderes Fenster drüberlege wird der text sichbar.???
Muß ich das Gadget neu Zeichen lassen ?

Gruß Herb
Zuletzt geändert von amiga123 am 17.02.2009 18:36, insgesamt 1-mal geändert.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: Listviewgadget Scollbalken ?

Beitrag von Fluid Byte »

amiga123 hat geschrieben:1.) kann man den Immer einblenden und nicht nur wenn zuviele Einträge vorhanden sind.

Code: Alles auswählen

OpenWindow(0,0,0,240,320,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(0,0,0,0,0,#LBS_DISABLENOSCROLL)
SetWindowLong_(GadgetID(0),#GWL_STYLE,#WS_CHILD | #WS_VISIBLE | #WS_VSCROLL)
ResizeGadget(0,0,0,240,320)

For i=1 To 10 : AddGadgetItem(0,-1,"Gadget Item #" + Str(i)) : Next

While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
Windows 10 Pro, 64-Bit / Outtakes | Derek
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Re: Listviewgadget Scollbalken ?

Beitrag von amiga123 »

Fluid Byte hat geschrieben:
amiga123 hat geschrieben:1.) kann man den Immer einblenden und nicht nur wenn zuviele Einträge vorhanden sind.

Code: Alles auswählen

OpenWindow(0,0,0,240,320,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(0,0,0,0,0,#LBS_DISABLENOSCROLL)
SetWindowLong_(GadgetID(0),#GWL_STYLE,#WS_CHILD | #WS_VISIBLE | #WS_VSCROLL)
ResizeGadget(0,0,0,240,320)

For i=1 To 10 : AddGadgetItem(0,-1,"Gadget Item #" + Str(i)) : Next

While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend

Danke für den code . Bekomme leider eine Fehlermeldung.

Line 2 Constant not found:#LBS_Disablenoscroll.

mfg. Herb[/img]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Listviewgadget Scollbalken ?

Beitrag von Kiffi »

amiga123 hat geschrieben:Line 2 Constant not found:#LBS_Disablenoscroll.
dann solltest Du auf jeden Fall Deine PB-Version in Deine Signatur schreiben.

Grüße ... Kiffi
a²+b²=mc²
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

du könntest es auch am Anfang des Codes

Code: Alles auswählen

#LBS_DISABLENOSCROLL = $1000
anfügen. Dann sollte PB den Wert eigentlich kennen.
Win11 x64 | PB 6.20
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Beitrag von amiga123 »

zu deiner Meldung : PB 4.30 Demo (X86)
Fang gerade erst wieder an zu Programmieren.


Erst mal besten Dank für die Hilfe.

Problem ist gelöst

SetGadgetState(2,Pos)
SetGadgetColor(2, #PB_Gadget_BackColor, $00FFFF)

jetzt hab ich das so wie ich wollte.
Einzig wäre noch der Scrollbalken permanent einzublenden.

mfg. Herb
Antworten