There are a bunch of messages for colouring controls WM_CTL* eg WM_CTLCOLOREDIT (edits), WM_CTLCOLORSTATIC (statics and read-only edits).

return a brush handle from these functions and windows will use it to colour the background of the control (except buttons). Remember to DeletObject on the brush handle when you are done with it.

The question has come up a number of times before so a quick search on this board (windows) for eg. WM_CTLCOLORSTATIC will give you more information.

Hope that helps.