Hallo,
das geht so nicht.
Sobald WM_PAINT (Paint) aufgerufen wird, überschreibt die ListView den Button wieder.
Ich würde mal TVirtualStringTree nehmen.
In den Bsp.-en sollte sich auch dafür schon fertiger Code befinden.
Mal ein Link in etwa deiner Richtung
1
(gefunden per Google "button in tlistview")
Heiko