Du könntest statt der ListView auch einen VirtualTreeView nehmen
> ich weiß "Tree", aber sie läßt sich auch als "List" verwenden
Dort kannst du erstmal die Bilder direct von der Komponente zeichnen lassen und muß ihr nur einen BildIndex und eventuell noch 'ne ImageList (falls da nicht die über das Property Angebundene genommen werden soll) übergeben.
Und dann gibt es ein fertiges OnColumnClick, wo du direkt die angeklickte Spalte bekommst und nichts mehr rechnen mußt.