Es gibt zwei einfache Möglichkeiten:
01: Du leitest von TListItems ab, wie jetzt auch. Allerdings musst du dann auch von TListView ableiten. Da sonst deine Klasse nicht genutzt werden kann bzw. wird. Z.B beim hinzufügen. Diese Methoden müsstest du überschreiben. Ebenfalls solltest du das Property Items überschreiben bzw. Anpassen
02: Viel leichter geht das über die Data Eigenschaft. Ich glaube bei der ListView war das ein Pointer. Es kann aber auch ein TObject sein. Dann kannst du einfach eine eigene Klasse erstellen und der Data Eigenschaft des ListItems hinzufügen.
Die Klasse muss das schon bereit stellen, sonst stehst du vor einem Problem. Es kommt immer auf dein Vorhaben an. Mit der
WinApi lässt sich auch einiges erreichen. Z.B. kann man damit Komponenten zu einem OpenDialog hinzufügen. Meinst du sowas ?