Anzahl sichtbarer Zeilen in ListIconGadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Anzahl sichtbarer Zeilen in ListIconGadget

Beitrag von techniker »

Hallo,

wie kann ich herausfinden, wie viele Zeilen aktuell in einem LIG dargestellt werden?
Bzw. wenn ich die unterste, noch sichtbare Zeilennummer des LIG herausbekommen könnte,
würde mir dies auch reichen.

Die Anzahl der Zeilen kann sich aufgrund der Fenstergröße und Schriftart ändern.

Die oberste Zeile kann ich z.B. per

Code: Alles auswählen

GetScrollPos_(GadgetID(0), #SB_VERT)
abfragen.

Das Ganze muss ausschließlich auf Windows laufen - also darf API verwendet werden.
Die Information benötige ich für die weitere Programmverarbeitung.

Danke. <)
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Anzahl sichtbarer Zeilen in ListIconGadget

Beitrag von bobobo »

Geht CountGadgetItems() ?
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Re: Anzahl sichtbarer Zeilen in ListIconGadget

Beitrag von techniker »

bobobo hat geschrieben:Geht CountGadgetItems() ?
Damit erfahre ich wie viele Einträge existieren - aber nicht welcher der unterste, gerade angezeigte ist.
Ebenso erfahre damit ich nicht, wie viele Zeilen momentan dargestellt werden.
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Re: Anzahl sichtbarer Zeilen in ListIconGadget

Beitrag von techniker »

Code: Alles auswählen

SendMessage_(GadgetID(0), #LVM_GETCOUNTPERPAGE, 0, 0)
Könnte die Lösung sein - muss es aber noch ausgiebig testen.. :allright:
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
sibru
Beiträge: 265
Registriert: 15.09.2004 18:11
Wohnort: hamburg

Re: Anzahl sichtbarer Zeilen in ListIconGadget

Beitrag von sibru »

Code: Alles auswählen

SendMessage_(GadgetID(GadNr), #LVM_GETCOUNTPERPAGE, 0, 0)
liefert Anzahl Zeilen

Code: Alles auswählen

;Modul      ListIcon_Index   Version 1.0 vom 21.03.2006
;
;Funktion:  bestimmt 1. sichtbare Zeile eines ListIcon-Gadget´s
;           
;           
;           
;
;Aufruf:    ListIcon_Index(#GadGetId, ZeilenNr)
;           GadgetID = Gadget-Handle des ListIcon´s
;           ZeilenNr = Nummer der ListIcon-Zeile (muß bereits belegt sein !!!), die
;                      als 1. im ListIcon angezeigt werden soll
;           

Procedure ListIcon_Index(GadNr, Index)
   SendMessage_(GadgetID(GadNr), #LVM_GETITEMRECT,0,r.RECT)
   SendMessage_(GadgetID(GadNr), #LVM_SCROLL,0,((r\bottom - r\top)*(Index-1)))
   SendMessage_(GadgetID(GadNr), #LVM_ENSUREVISIBLE, Index, 0)
EndProcedure
viel Erfolg !
Bild Bild
Antworten