网上查了好久,给得分不少但都不是完整的答案,还不能用,郁闷。。。。
折腾了半天终于搞出来了,分享给大家,希望遇到这个问题的人看到。
我做了一个函数,直接调用就可以,至于原理看了代码我想你稍微用心一下就会明白。
void CMainFrame::ToolbarImgChange(int iDest, int iSrc, int iSpcHold)
{
CToolBarCtrl & tbc = m_wndToolBar.GetToolBarCtrl();
CImageList * pTbi = tbc.GetImageList();
pTbi->Copy(iSpcHold,iDest);
pTbi->Copy(iDest,iSrc);
pTbi->Copy(iSrc,iSpcHold);
tbc.SetImageList(pTbi);
m_wndToolBar.Invalidate();
}
最好,把如何隐藏占位图片也贴出来一并共享,在建立成功工具栏后调用。
CToolBarCtrl &tbc = m_wndToolBar.GetToolBarCtrl();
tbc.SetState(ID_STATE_ONLINE,TBSTATE_HIDDEN);