The CBitmapButton MFC class makes it easy to create buttons with custom bitmaps. It is easy to use if you know how to. The documentation says to use CBitmapButton::AutoLoad but I do not understand how to use it. The following is what worked for me.
An example of LoadBitmaps is:
if (!m_ctlPictureButton1.LoadBitmaps(_T("IMAGE1UP"), _T("IMAGE1DOWN"), _T("IMAGE1FOCUS")))
MessageBox("Button1 pictures are not loaded");
See my Visual C++ Programmer Stuff page for more C++ stuff.