'CButton' is the only control that does not respond to the 'OnCtlColor()' message handler even though the MSDN (http://msdn.microsoft.com) explains it that way. To change the color of a 'CButton' control you have to set the style to ownerdrawn and do it yourself.

You will find a complete 'CColorButton' class at http://www.codeguru.com/buttonctrl/color_button.shtml. This class does not allow you to change the color at run-time...you will find a modified control at http://www.codeguru.com/buttonctrl/ClrButton.html