修改toolbar

BOOL CMainFrame::CreateExToolBar()
{
CImageList img;
CString str;

if(!m_wndReBar.Create(this))
{
  return -1;
}

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
{
  return -1;      
}

//下面的代码是设置按钮的宽度和长度

m_wndToolBar.GetToolBarCtrl().SetButtonWidth(40, 40);
//下面的代码是设置"热"的位图
img.Create(22, 22, ILC_COLOR8|ILC_MASK,2,2);
img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON_FIRST));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_PREVIEW));

img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_NEXT));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_LAST));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_ABOUT));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_EXIT));

m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);
img.Detach();

//下面的代码是设置"冷"的位图
img.Create(19, 19, ILC_COLOR8|ILC_MASK, 2,2);
img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON_FIRST));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_PREVIEW));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_NEXT));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_LAST));    
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_ABOUT));
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON_MSG_EXIT));      

m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
img.Detach();

//改变属性
m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | TBSTYLE_TRANSPARENT|TBBS_CHECKBOX );
m_wndToolBar.SetButtons(NULL,6); //设置按钮个数
// set up each toolbar button设置文字  

m_wndToolBar.SetButtonInfo(0, ID_FIRST, TBSTYLE_BUTTON, 0);
m_wndToolBar.SetButtonText(0, "首页");

m_wndToolBar.SetButtonInfo(1, ID_PREVIEW, TBSTYLE_BUTTON, 1);
m_wndToolBar.SetButtonText(1, "上页");

m_wndToolBar.SetButtonInfo(2, ID_NEXT, TBSTYLE_BUTTON, 2);
m_wndToolBar.SetButtonText(2, "下页");
m_wndToolBar.SetButtonInfo(3, ID_LAST, TBSTYLE_BUTTON, 3);
m_wndToolBar.SetButtonText(3, "末页");

m_wndToolBar.SetButtonInfo(4, IDC_MSG_BUTTONSPLI, TBBS_SEPARATOR,4);

m_wndToolBar.SetButtonInfo(5, IDC_ABOUT, TBSTYLE_BUTTON, 5);
m_wndToolBar.SetButtonText(5, "关于");

m_wndToolBar.SetButtonInfo(6, IDC_EXIT, TBSTYLE_BUTTON , 6);
m_wndToolBar.SetButtonText(6, "退出");

m_wndToolBar.SetButtonInfo(7, IDC_MSG_BUTTONSPLI, TBBS_SEPARATOR , 4);

CRect rectToolBar;
//得到按钮的大小
m_wndToolBar.GetItemRect(0, &rectToolBar);
//设置按钮的大小
m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(20,20));

//在Rebar中加入ToolBar
m_wndReBar.AddBar(&m_wndToolBar);

//改变一些属性
REBARBANDINFO rbbi;
rbbi.cbSize = sizeof(rbbi);  //这个是必须填
rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE|RBBIM_BACKGROUND;
//工具条的宽度
rbbi.cxMinChild = rectToolBar.Width();
//高度
rbbi.cyMinChild = rectToolBar.Height();
//下面这行代码是为工具条加入背景位图,请注意上rbbi.fMask中RBBIM_BACKGROUND标志
rbbi.hbmBack = LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_TOOLBARBKMAP));

rbbi.cx = rbbi.cxIdeal = rectToolBar.Width() * 10;

m_wndReBar.GetReBarCtrl().SetBandInfo(0, &rbbi);
return TRUE;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值