Seite 1 von 1

AutoScroll ListView

Verfasst: 12.05.2010 23:25
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

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:34
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) 

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:47
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^^

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:49
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

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:50
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

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:50
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.

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:55
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

Re: AutoScroll ListView

Verfasst: 12.05.2010 23:58
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

Re: AutoScroll ListView

Verfasst: 13.05.2010 00:09
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: