Bert,
If you wanted to use the alternate image, you could just call the SetImage function.
If you want to deal with more than 2 images, it wasn't really designed to work this way, because I didn't want to be always painting, just copying bmps.
However, I think on the timer you could Load the image, set m_bHaveBitmaps to false (change it to public) and then call m_dcStd.DeleteDC();
Also delete the pressed, hot and grayscale if you want to regenerate those.