Alternativvorschlag:
Delphi-Quellcode:
const
ciTextBreiteInBuchstaben = 25;
...
LVZattoo.SetItemText(LVZattoo.Handle, (i - 1), 1,
SysUtils.WrapText(ChlRec.title,ciTextBreiteInBuchstaben) + #13#10
+ 'Genre: ' + FZat.gEpg[i - 1].g + #13#10
+ 'Sendung: ' + FZat.gEpg[i - 1].t + #13#10
+ 'Laufzeit: ', 8);
ciTextBreiteInBuchstaben weist Du einen Wert zu, der der maximal sinnvoll anzeigbaren Breite in Buchstaben entspricht.
WrapText sorgt für eine entsprechende Textbreite, in dem es bei Erreichen dieses Wertes beim nächsten auftretenden WhiteSpace einen Zeilenumbruch einfügt.
Dann musst Du Dir keine Gedanken über Scrollbar Ja/Nein ... machen. Der Sendungstitel enthält dann jeweils auch entsprechend viele Zeilenumbrüche.
Ob's damit dann besser aussieht, müsstest Du mal ausprobieren.