You can add BS_OWNERDRAW to the button style flags. Then you'll get messages when you need to redraw the button. You can do whatever you want with the button drawing at this point. See the documentation for CButton::DrawItem() for more information.