AutoScroll ListView

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
benji
Beiträge: 124
Registriert: 01.11.2006 20:23

AutoScroll ListView

Beitrag von benji »

Will haben, dass mein ListView Automatisch nach unten scrollt. Dies will ich mit
SendMessage erreichen:

Code: Alles auswählen

SendMessage_(GadgetID(_list),4121,-1,0)
4121 = LVM_ENSUREVISIBLE
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Aber er scrollt nicht...
Vielleicht könnt ihr mir helfen
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: AutoScroll ListView

Beitrag von ts-soft »

ListView in PB = ListBox in API
ListIcon in PB = ListView in API!

Für eine ListBox sollte doch SetGadgetState reichen?

//edit:

Code: Alles auswählen

SendMessage_(GadgetID(_list), #LB_SETTOPINDEX, CountGadgetItems(_list) -1, 0) 
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
benji
Beiträge: 124
Registriert: 01.11.2006 20:23

Re: AutoScroll ListView

Beitrag von benji »

ts-soft hat geschrieben:ListView in PB = ListBox in API
ListIcon in PB = ListView in API!

Für eine ListBox sollte doch SetGadgetState reichen?

//edit:

Code: Alles auswählen

SendMessage_(GadgetID(_list), #LB_SETTOPINDEX, CountGadgetItems(_list) -1, 0) 
zu deiner ersten Info:
Danke das wusste ich nicht :/

ZU deinem zweiten Tipp:
PB_Help hat geschrieben:SetGadgetState() ändert den ausgewählten Eintrag. Wird -1 angegeben, dann wird die Auswahl entfernt.
das hat so wie ich das verstehe nichts mit scrollen zutun?

EDIT:
Danke hat schon geklappt^^
Zuletzt geändert von benji am 12.05.2010 23:50, insgesamt 1-mal geändert.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: AutoScroll ListView

Beitrag von Kiffi »

ts-soft hat geschrieben:Für eine ListBox sollte doch SetGadgetState reichen?
jup, gilt gleichermaßen für ListView() und ListIconGadget().

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: AutoScroll ListView

Beitrag von ts-soft »

benji hat geschrieben: das hat so wie ich das verstehe nichts mit scrollen zutun?
MSDN hat geschrieben:Ensures that the specified item in a list box is visible.
Also dasselbe, wie Deins für das ListIcon
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: AutoScroll ListView

Beitrag von Fluid Byte »

Hast du es ausprobiert? Nö. SetGadgetState() scrollt in einer ListView (API ListBox) automatisch zu dem item so das es in den sichtbaren Bereich kommt. Das ist bei einem ListIconGadget() nicht der Fall.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: AutoScroll ListView

Beitrag von Kiffi »

Fluid Byte hat geschrieben:Das ist bei einem ListIconGadget() nicht der Fall.
bei mir schon (schnelles Beispiel aus der PB-Hilfe):

Code: Alles auswählen

 If OpenWindow(0, 0, 0, 270, 140, "ListViewGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ListIconGadget(0, 10, 10, 250, 120, "", 100, #PB_ListIcon_AlwaysShowSelection)
    For a = 1 To 120
      AddGadgetItem (0, -1, "Item " + Str(a) + " of the Listview") ; define listview content
    Next
    SetGadgetState(0, 90) ; set (beginning with 0) the tenth item as the active one
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: AutoScroll ListView

Beitrag von ts-soft »

Oh, man, wo kommen die alle auf einmal her :mrgreen:
Jetzt hab ich mein Beispiel für die Katz gemacht :evil:

Code: Alles auswählen

EnableExplicit

OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 460, "", #PB_Window_SystemMenu)

ListViewGadget(0, 10, 10, 620, 400)
ButtonGadget(1, 290, 420, 60, 30, "Scroll")

Define i
For i = 0 To 100
  AddGadgetItem(0, i, Str(i))
Next

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow : Break
    Case #PB_Event_Gadget
      If EventGadget() = 1
        SendMessage_(GadgetID(0), #LB_SETTOPINDEX, CountGadgetItems(0) -1, 0) 
      EndIf
  EndSelect
ForEver
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
benji
Beiträge: 124
Registriert: 01.11.2006 20:23

Re: AutoScroll ListView

Beitrag von benji »

also leute, danke ich weiß warum ich hier gerne auftauche - weil man einfach immer eine super Antwort bekommt!!!
Und ja es hat alles geklappt ;)

:bounce:
Antworten