Hier habe ich mal vor längerem eine
nonVCL-Color-Button Beispiel erstellt, da dürfte aller nötiger Quelltext dabei sein.
PS: Die wichtigsten Stichworte sind: Es läuft über WM_DRAWITEM, über den lParam bekommt man einen Pointer auf eine PDRAWITEMSTRUCT, die alles nötige wie HWND,
DC und Rect enthält, z.B. PDRAWITEMSTRUCT(dblParam).hDC.