在VC中CToolBar,依据状态改变,动态改变工具栏显示图片
2011-08-09 13:31
267 查看
网上查了好久,给得分不少但都不是完整的答案,还不能用,郁闷。。。。
折腾了半天终于搞出来了,分享给大家,希望遇到这个问题的人看到。
我做了一个函数,直接调用就可以,至于原理看了代码我想你稍微用心一下就会明白。
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);
折腾了半天终于搞出来了,分享给大家,希望遇到这个问题的人看到。
我做了一个函数,直接调用就可以,至于原理看了代码我想你稍微用心一下就会明白。
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);
相关文章推荐
- VC下动态改变菜单显示的标题和Checked状态(Change title of CMenu and Checked)
- 使用jQuery动态改变图片显示大小
- JS使用oumousemove和oumouseout动态改变图片显示的方法
- jQuery动态改变图片显示大小(修改版)的实现思路及代码
- android 不同主题下不同状态的button 动态改变文字和图片
- 改变工具栏按钮状态的方法 VC
- 解决javascript动态改变img的src属性图片不显示问题
- jQuery动态改变图片显示大小(修改版)的实现思路及代码
- 【1307】TextView动态显示wifi状态的改变
- 解决javascript动态改变img的src属性图片不显示问题
- VC对话框加载图片、改变背景颜色、画图、显示隐藏控件
- 动态改变图片显示大小
- vc 动态显示图片
- jQuery动态改变图片显示大小(修改版)的实现思路及代码
- WinForm - PictureBox显示图片及动态改变
- VC/MFC 操作网页元素/动态改变网页控件状态
- 定义xml为drawable文件并根据状态改变显示的图片资源
- javascript动态改变img的src属性图片不显示的解决方法
- img超出div width时, jQuery动态改变图片显示大小
- 关于Drawable资源被用在多个地方显示图片时,改变其中一个实例的状态会同时作用到其他实例的解决方法