A hardish one for you GDI people.

I'm trying to change the text colour and background colour of a Button using API (I have reasons).

I managed to change the text colour using BS_OWNERDRAW and SetTextColour. I also changed the colour of the box using
CreateSolidBrush and FillRect however this leaves me with 2 problems:

1). The Rect is now flat - the button no longer looks like a button.

2). The text is invisible (the FillRect has filled over my Text!)

Does anyone know how to change the background colour of a button while keeping it looking like an button AND keeping the text visible (like changing the system colour - but obviously not changing the system colours!!!)

I need this pretty quick - so if anyone has the answer I'd be eternally grateful!