弱问一下:【程序运行时,如何为某个工具条按钮变换位图】

0sch 2003-12-24 12:00:57

详细说明:
点击工具条按钮,执行相应命令后,按钮表面位图变化。再次点击该按钮,执行同一个命令,按钮表面位图恢复原状。

请问各位高手,如何实现?
先感谢各位了!


...全文
24 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
神功智能 2003-12-24
  • 打赏
  • 举报
回复
BOOL m_bEnable;
CBitmapButton m_StartBtn;
horseboss 2003-12-24
  • 打赏
  • 举报
回复
SendMessage(hwndTbar, TB_ADDBITMAP , (WPARAM) ID_YOURBUTTON,
(LPARAM)(LPTBADDBITMAP) lptbab);
aaasng 2003-12-24
  • 打赏
  • 举报
回复
用CToolBar::SetButtonInfo
piaomiaoyuan 2003-12-24
  • 打赏
  • 举报
回复
楼主有没有学过C++? m_bEnable当然是Boolean型的啦,至于m_StartBtn,我猜应该是CBitmapButton的对象!
0sch 2003-12-24
  • 打赏
  • 举报
回复
楼上:m_bEnable,m_StartBtn是什么类型的变量?
神功智能 2003-12-24
  • 打赏
  • 举报
回复
if(m_bEnable)
{
m_StartBtn.LoadBitmaps(IDB_BITMAPOFFNORMAL,IDB_BITMAPOFFDOWN);
m_bEnable=false;
m_StartBtn.RedrawWindow();
}
else
{
m_StartBtn.LoadBitmaps(IDB_BITMAPONNORMAL,IDB_BITMAPONDOWN);
m_bEnable=true;
m_StartBtn.RedrawWindow();
}
神功智能 2003-12-24
  • 打赏
  • 举报
回复
一个例子,看看
http://www.vckbase.com/code/downcode.asp?id=1857
0sch 2003-12-24
  • 打赏
  • 举报
回复
很不幸,各位的方法都不对!

是不是我没有说清楚?

是将“工具条”上面的第6个按钮的位图变换!要求加载的位图不再这个m_wndToolBar中,是从其他资源中输入!我只想改变第六个按钮,前5个不能改变!

不是“位图按钮”,使用SetButonInfo绝对无法解决这个问题!

我想应该是SetButtons(const UINT* lpIDArray,int IDCount)函数,其中需要改变的是

lpIDArray,就是不知道该怎么改,各位给指点一下!
0sch 2003-12-24
  • 打赏
  • 举报
回复
piaomiaoyuan(缥缈缘):

我问清楚一点不行?何必这样进行人生攻击?

不管怎样说,谢谢各位了!

我想我应该能够做出来了,我做出来后马上结帖。
flyelf 2003-12-24
  • 打赏
  • 举报
回复
m_wndToolBar.SetButtonInfo(nPos, ID_XX, TBBS_BUTTON, nImageIndex);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧