动态改变工具栏按钮图标

 

这个例子中将动态改变的工具栏按钮图标存放在IDIDR_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的图像列表,当然也可以通过其他方法实现。

接下来就可以动态改变某个按钮的图标了,如将IDID_MENUITEM32780的图标改为IDR_TOOLBAR_SHELL中的第二个图标:

       m_wndToolBar.SetButtonInfo(m_wndToolBar.CommandToIndex(ID_MENUITEM32780),ID_MENUITEM32780,TBBS_BUTTON,a+1);

posted on 2006-10-14 14:18  路吾  阅读(925)  评论(0编辑  收藏  举报

导航