Stichwort VirtualTreeView. Der sollte sowas (eventuell mit der Option toFullRowSelect) eigentlich problemlos können (und noch viel viel mehr). Habe es nicht explizit ausprobiert, meine aber, sowas schonmal gemacht zu haben.
Es sei denn hier geht es um FMX. Dann habe ich nix gesagt.