定义:CToolBar m_MyToolBox;
在OnCreate()函数中创建工具栏:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndStatusBar.Create(this))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
/*第一方法:工具栏的创建和加载过程 CBRS_SIZE_FIXED是关键*/
if (!m_MyToolBox.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED) ||
!m_MyToolBox.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
m_MyToolBox.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
/*通过工具栏按钮属性设置,每隔2个按钮换一行*/
m_MyToolBox.SetButtonStyle(1,TBBS_BUTTON|TBBS_WRAPPED);
m_MyToolBox.SetButtonStyle(3,TBBS_BUTTON|TBBS_WRAPPED);
m_MyToolBox.SetButtonStyle(5,TBBS_BUTTON|TBBS_WRAPPED);
m_MyToolBox.SetWindowText("工具");
FloatControlBar(&m_MyToolBox,CPoint(100,300));
CRect rect;
m_MyToolBox.GetItemRect(0,rect);
m_MyToolBox.SetSizes(CSize(rect.Width(),rect.Height()),CSize(16,15));
return 0;
}
如下图:
附上工具栏一些属性说明:
1、m_MyToolBox.CreateEx()第二个参数的属性设置:
2、m_MyToolBox.CreateEx()第三个参数的属性设置: