Seite 1 von 1

Auswählen von Einträgen beim Listview-Gadget

Verfasst: 08.09.2010 15:25
von Angelo
Hallo,
wenn man in einem Listview-Gadget zu einem Eintrag springt, dann wird immer ein solcher Ausschnitt des Listview-Inhalts gezeigt, sodass der angesprungene und damit markierte Eintrag in der zweitletzten Zeile steht. Schöner wäre es, wenn die Positionierung so wäre, dass der "angesprungene" Eintrag in der Mitte stehen würde. Gebt in dem folgenden Beispiel einfach mal einen Sprung zum Eintrag 27 oder 55 etc. ein. Dann wird deutlich, was ich meine. Kann man das so ändern, dass der markierte Eintrag in die Mitte rückt??

Code: Alles auswählen

#Window = 0

Enumeration
  #text
  #listview
  #string
EndEnumeration

OpenWindow(#Window, 0, 0, 590, 300, "Listview-Gadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(#listview, 55, 70, 480, 180)
TextGadget(#text, 10, 10, 130, 20, "Eintragnummer auswählen: ")
StringGadget(#string, 150, 10, 20, 20, "")

For i = 0 To 99
   AddGadgetItem(#listview, -1, "Eintrag mit Nummer: " + Str(i))
Next i

SetActiveGadget(#string)
 
Repeat 

   event = WaitWindowEvent()

   If Event = #PB_Event_CloseWindow
      quit = 1
   EndIf

   If event = #WM_KEYFIRST
      Select EventwParam()
         Case #VK_RETURN 
            nr$ = GetGadgetText(#string)
            SetGadgetState(#listview, Val(nr$))         
      EndSelect
   EndIf
         
Until quit = 1

Re: Auswählen von Einträgen beim Listview-Gadget

Verfasst: 08.09.2010 15:43
von STARGÅTE
[SchummelMous]

Wenn du folgende Zeilen abänderst, wird erst ein späterer eintrag angefahren und dann der echte:

Code: Alles auswählen

            nr$ = GetGadgetText(#string)
            If Val(nr$) < GetGadgetState(#listview)
              SetGadgetState(#listview, Val(nr$)-5)   
            Else
              SetGadgetState(#listview, Val(nr$)+5)   
            EndIf
            SetGadgetState(#listview, Val(nr$))         
[/SchummelModus]

Re: Auswählen von Einträgen beim Listview-Gadget

Verfasst: 08.09.2010 15:57
von Angelo
Ja, was soll ich sagen: simple, but quite effective! :)

Re: Auswählen von Einträgen beim Listview-Gadget

Verfasst: 08.09.2010 16:02
von Jilocasin
Kann aber abhängig von der verwendeten (evtl. Standard-)Schriftart auch ziemlich murksig aussehen :D

Re: Auswählen von Einträgen beim Listview-Gadget

Verfasst: 08.09.2010 16:10
von STARGÅTE
Das stimmt, hängt hat von der Anzahl sichtbarer Zeilen ab ...

Sicher gibs auch n API lösung ...

Re: Auswählen von Einträgen beim Listview-Gadget

Verfasst: 08.09.2010 16:14
von Angelo
Klar, eine Api-Lösung wäre schon optimal ...