Добавляем еще один рисунок в ресурсы:
На диалоговое окно кнопку и код к ней:
void CMyDIalog::OnButton1() { m_St.SetBitmap(::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP2)) ); CRect tempRect; GetClientRect(tempRect); m_St.SetWindowPos(0,tempRect.top,tempRect.left, tempRect.right,tempRect.bottom,0); Invalidate(); }
Нам помимо смены картинки пришлось еще раз изменить размер, мы это делали в OnInitDialog(), но ведь все это можно вынести в отдельную функцию типа AdaptiveImage(). Запускаем:
Нажимаем, на кнопку.
Ну, а как менять цвет с OnPaint() понятно, подставить другой идентификатор картинки. Иы идентификатор меняем на переменную:
CBitmap cb; cb.LoadBitmap(IDB_BITMAP1); // Нужно подставлять переменную в которой идентификатор рисунка CBrush tempBrush;
А дальше присваиваем этой переменной нужный идентификатор картинки и вызываем Invalidate().