Hab hier mal ne Funktion geschrieben, welche die Anzahl der sichbaren Items ausgibt. Auch nur teilweise sichtbare Items werden gezählt:
Delphi-Quellcode:
function GetVisibleItemCount(const AListBox: TListBox): Integer;
begin
if (AListBox.ItemHeight = 0) or (AListBox.Count = 0) then
Result := 0
else
Result := Min(Ceil(AListBox.ClientHeight / AListBox.ItemHeight), AListBox.Count);
end;
Eventuell musst du die
Unit "Math" einbinden, für die Funktion Min(). Hier ein Beispielaufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
fCount: Integer;
begin
fCount := GetVisibleItemCount(ListBox1);
ShowMessage('Sichtbare Items: ' + IntToStr(fCount));
end;
MfG Pr0g