动态改变工具栏按钮图标
这个例子中将动态改变的工具栏按钮图标存放在ID为IDR_TOOLBAR_SHELL的工具条资源中,可以被作为位图资源使用。
CImageList * m_imgList1;
m_imgList1=(m_wndToolBar.GetToolBarCtrl()).GetImageList();
int a= m_imgList1->GetImageCount();
CBitmap cbmp;
BITMAP bmp;
cbmp.LoadBitmap(IDR_TOOLBAR_SHELL);
cbmp.GetBitmap(&bmp);
m_imgList1->Add(&cbmp,RGB(192,192,192));
(m_wndToolBar.GetToolBarCtrl()).SetImageList(m);
m_imgList1->Detach();
m_imgList1=NULL;
cbmp.DeleteObject();
上面这部分代码将IDR_TOOLBAR_SHELL中位图添加到m_wndToolBar的图像列表,当然也可以通过其他方法实现。
接下来就可以动态改变某个按钮的图标了,如将ID为ID_MENUITEM32780的图标改为IDR_TOOLBAR_SHELL中的第二个图标:
m_wndToolBar.SetButtonInfo(m_wndToolBar.CommandToIndex(ID_MENUITEM32780),ID_MENUITEM32780,TBBS_BUTTON,a+1);