Hallo,
wie kann man herausfinden wie viele Zeilen in einem ListView gerade angezeigt werden bzw. angezeigt werden könnten?
Gruß Roland
Sichtbare Zeilen in ListView
Re: Sichtbare Zeilen in ListView
Wenn alle gleich hoch sind, z.B. so
Code: Alles auswählen
var
Arect: TRect;
Lines:integer;
begin
Arect:=ListView1.Items[0].DisplayRect(drBounds);
Lines:=ListView1.ClientHeight div (Arect.Bottom-Arect.Top);
- Ally
- Beiträge: 283
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: Sichtbare Zeilen in ListView
Hallo theo,
vielen Dank für diene Antwort.
Ich habe heute Morgen eine Stunde lang rumgegooglet und Nix gefunden.
Gerade habe ich es noch mal probiert und bin sofort fündig geworden.
So geht's ganz einfach:
Gruß Roland
vielen Dank für diene Antwort.
Ich habe heute Morgen eine Stunde lang rumgegooglet und Nix gefunden.

Gerade habe ich es noch mal probiert und bin sofort fündig geworden.

So geht's ganz einfach:
Code: Alles auswählen
Zeilen := ListView.VisibleRowCount;
Re: Sichtbare Zeilen in ListView
Ja, stimmt. Das hatte ich auch nicht mehr auf dem Radar.
Das Resultat ist aber leicht anders.
Bei meiner Methode sind nur die vollständig sichtbaren Zeilen berücksichtigt.
Bei VisibleRowCount werden auch "Angeschnittene" mit einbezogen.
Kommt halt drauf an, was man braucht.
In diesem Beispiel auf GTK2, zeigt VisibleRowCount 6 an, weil ein kleiner Teil vom Grau der 6.ten Zeile noch sichtbar ist.
Meine Funktion zeigt nur 5 an.
Das Resultat ist aber leicht anders.
Bei meiner Methode sind nur die vollständig sichtbaren Zeilen berücksichtigt.
Bei VisibleRowCount werden auch "Angeschnittene" mit einbezogen.
Kommt halt drauf an, was man braucht.
In diesem Beispiel auf GTK2, zeigt VisibleRowCount 6 an, weil ein kleiner Teil vom Grau der 6.ten Zeile noch sichtbar ist.
Meine Funktion zeigt nur 5 an.
- Dateianhänge
-
- LVRows.png (9.23 KiB) 1002 mal betrachtet