Стандартными средствами не получится. Можно: сделать копию с ToolBar BMP файла. Вставить её в ресурсы изменить картинку нужной кнопки. Потом создать в CMAinFrame объект член типа указатель на CBitmap. По необходимости инициаллизить объект с BMP и устанавливать его в ToolBar
m_wndToolBar.SetBitmap(*m_tbBMP);
.h
CBitmap *m_tbBMP;
в конструкторе
m_tbBMP = NULL;
в деструкторе не забыть
delete m_tbBMP;
где необходимо
....
CBitmap *pBmp = new CBitmap();
pBmp->LoadBitmap(IDB_BITMAP1);
m_wndToolBar.SetBitmap(*pBmp);
delete m_tbBMP;
m_tbBMP = pBmp;
m_wndToolBar.RedrawWindow();
....
Способ 2.
Создаём копию тулбарной картинки и вставляем её в ресурсы. Увеличиваем размер вправо на Н пикселей - где Н число необходимых символов * на ширину символа одной кнопи обычно 16, те если надо 2 состояния, то 32 и тд.
Рисуем туда значки. Это будут наши скрытые значки.
Повторяем действия п1 с той разницей, что инициализим m_tbBMP сразу в:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
m_tbBMP = new CBitmap();
m_tbBMP->LoadBitmap(IDB_BITMAP1);
m_wndToolBar.SetBitmap(*m_tbBMP);
ТАм где необходимо - делаем след. (необходимо знать позицию кнопки, которую хотим поменять)
UINT uiID;
UINT uiStyle;
int nImg;
m_wndToolBar.GetButtonInfo( индекc кнопки ,uiID,uiStyle,nImg);
m_wndToolBar.SetButtonInfo(индекc кнопки,uiID,uiStyle, номер символа в BMP);
m_wndToolBar.RedrawWindow();