向工具条按钮添加图片

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP

              | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||

              !m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))

       {

              TRACE0("Failed to create toolbar/n");

              return -1;      // fail to create

       }

 

 

       CImageList img;

 

// 前两个参数代表所要保存的位图大小,第 3 个代表位图像素颜色深度此处为 16 位的位图, // 4 个参数为所要插入的位图的数量,第五个参数为当所添加位图超过预先给定的数量时, //CImgList 自动添加空间的数量,此操作在位图数量很大时会很慢

       img.Create(18, 18, ILC_COLOR4, 4, 2);

       img.Add(AfxGetApp()->LoadIcon(IDI_ICON1));  // 插入位图

       img.Add(AfxGetApp()->LoadIcon(IDI_ICON2));

       img.Add(AfxGetApp()->LoadIcon(IDI_ICON3));

       img.Add(AfxGetApp()->LoadIcon(IDI_ICON4));

 

       m_wndToolBar.GetToolBarCtrl().SetImageList(&img); // 设置工具栏的 CImgList 对象

 

       img.Detach();   // 释放资源句柄,因为此处为局部变量,释放后句柄由主窗口接收,并不因为变量超出作用域而销毁,也可以将 CImagList 设置为成员变量解决这个问题。

 

// 参数 1 :工具栏上按钮的下标,分割符也要占用一个下标

// 参数 2 :按钮的资源标识符

// 参数 3 :风格表示,此处标明这是一个按钮

// 参数 4 :按钮上对应位图的标识,这个之前插入 CImageList 时的先后顺序有关

       m_wndToolBar.SetButtonInfo(2, ID_TOOLBTN1, TBBS_BUTTON, 0);

       m_wndToolBar.SetButtonInfo(4, ID_TOOLBTN2, TBBS_BUTTON, 1);

       m_wndToolBar.SetButtonInfo(6, ID_TOOLBTN3, TBBS_BUTTON, 2);

       m_wndToolBar.SetButtonInfo(8, ID_TOOLBTN4, TBBS_BUTTON, 3);

 

如果按钮处于禁用状态可以在 Update_Command_UI 的消息响应中将它启用具体代码如下:

void CMainFrame::OnUpdateToolbtn1(CCmdUI* pCmdUI)

{

       // TODO: Add your command update UI handler code here

       pCmdUI->Enable();

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值