Пишу под PocketPC (eMVC++ 3.0), но, думаю, подобное может быть и на десктопе.
Использую следующий код для смены картинки у кнопки на тулбаре:
SendMessage( m_hwndCB, TB_CHANGEBITMAP, IDM_SET_DRAW_WIDTH, MAKELPARAM(nWidth, 0) );
В принципе оно работает, но такое впечатление, что новая картинка выводится поверх старой с учетом цвета прозрачности — т.е. серый фон битмапа не затирает старое изображение, а просто новое изображение накладывается на старое, что, естественно, выглядит очень плохо.
При нажатии кнопки она "отмечается" белым фоном, картинка при этом исправляется (остатки старой картинки пропадают), и после отпускания кнопки изображение на ней выглядит как должно быть.
Подскажите, пожалуйста, как сделать, чтобы новая картинка сразу показывалась нормально? Может после посылки TB_CHANGEBITMAP требуется еще какое-то обновление окна toolbar или что-то подобное?
Спасибо.