You might want to look at adding the Microsoft Forms 2.0 Object Library to your project. It allows you to change the backColor and foreColor of command buttons. It has it's quirks, like you cannot key in a shortCut for the button. E&xit in the caption shows E&xit instead of underlining the "x" like the standard command button.
SYMPTOMS
A CommandButton with its Style property set to "0 - Standard" and its BackColor property set to a color (other than gray) displays the Backcolor at run-time. This behavior should not occur unless the Style property is set to "1 - Graphical."
STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.
This problem was corrected in Windows CE Toolkit for Visual Basic 6.0.
MORE INFORMATION
Steps to Reproduce Behavior
Start a new Windows CE Project in Visual Basic 5.0. Form1 is created by default.
Place a CommandButton on Form1.
Set the BackColor property of the CommandButton to a color, such as red. Make sure the Style property of the CommandButton is set to "0 - Standard," which is the default.
Press the F5 key to run the project, and note that the button is red. This behavior should only occur when the Style property of the button is set to "1 - Graphical."
NOTE: This behavior also occurs if you set the BackColor property in code at run-time.
What?!@?@? That's not a bug, that's the way it should work. Why must the style be graphical in order to see a backcolor???? If I want a textbox backcolor to be red, I don't have to change any style property.
That my command buttons disappear and are replaced with ghostlike grey boxes, THAT'S a bug!!!!!!!!!!!!!!!
I have tried this with multiple buttons with the background set to different colors, and with multiple forms. Everything appears to be working fine. The buttons always display correctly.
Are you running any long complex routines when the buttons are clicked? Perhaps the screen is not getting a chance to be refreshed.