Seite 1 von 1

Listicongadget: Höhe Kopfzeile bzw. Zeilennr der 1. Zeile

Verfasst: 30.12.2013 15:06
von ProgOldie
Hallo,
leider habe ich in rsbasics API-Sammlung und im Forum nichts Passendes zu folgenden Fragen gefunden:
1. Wie ermittle ich die Höhe der Kopfspalte im Listicongadget?
2. Wie ermittle ich die Zeilennummer der ersten, im Gadget sichtbaren Zeile? Wenn z.B. Zeile 18 die erste sichtbare Zeile im Gadget ist: Wie komme ich auf die 18?

Re: Listicongadget: Höhe Kopfzeile bzw. Zeilennr der 1. Zei

Verfasst: 30.12.2013 15:20
von RSBasic
@1.:

Code: Alles auswählen

EnableExplicit

Define EventID
Define a
Define LV_Header
Define RECT.RECT

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListIconGadget(1, 0, 0, WindowWidth(0), WindowHeight(0), "Spalte", 400)
  For a=1 To 50
    AddGadgetItem(1, -1, "Item" + Str(a), 0, 0)
  Next
  
  LV_Header = SendMessage_(GadgetID(1), #LVM_GETHEADER, 0, 0)
  GetWindowRect_(LV_Header, @RECT)
  Debug "Höhe: " + Str(RECT\Bottom-RECT\Top)
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Listicongadget: Höhe Kopfzeile bzw. Zeilennr der 1. Zei

Verfasst: 30.12.2013 15:27
von mk-soft
@2.

topindex = SendMessage_(GadgetID(#List), #LVM_GETTOPINDEX, 0, 0)

Windows only

Re: Listicongadget: Höhe Kopfzeile bzw. Zeilennr der 1. Zei

Verfasst: 30.12.2013 15:35
von ProgOldie
Danke! Mann seid ihr schnell!