1:首先是创建一个工具栏资源;
2:增加一个CToolBar的成员变量; CToolBar m_newToolBar;
3:在oncreate函数中调用CToolBar中的CreateEx方法,创建一个工具栏
if (!m_newToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_RIGHT | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_newToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
4:设置工具栏的在窗口中的停靠属性:
m_newToolBar.EnableDocking(CBRS_ALIGN_ANY);
5:让框架窗口接受新增工具栏的停靠
DockControlBar(&m_newToolBar);
6:显示工具栏:
在菜单中添加一个view选项,然后增加相应的处理函数;
第一种显示方法:
void CMainFrame::OnNewTool()
{
if(m_newToolBar.IsWindowVisible())
{
m_newToolBar.ShowWindow(SW_HIDE);
}
else
{
m_newToolBar.ShowWindow(SW_SHOW);
}
RecalcLayout();//when the window is changed ,call this to reposition it!
DockControlBar(&m_newToolBar);//make the mianframe to layyout
}
第二种显示方法
void CMainFrame::OnNewTool()
{
ShowControlBar(&m_newToolBar,!m_newToolBar.IsWindowVisible(),false);
}
7:为了在菜单栏中添加选择标记
可以,对view选项增加一个UpdataCommandUI命令相应:
然后:调用SetCheck方法
void CMainFrame::OnUpdateNewTool(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck(m_newToolBar.IsWindowVisible());
}