在 ‘View’ 菜单中 加 一项 “停靠”, 在 MainFrame 中 响应:
void CMainFrame::OnDockbar()
{
// TODO: Add your command handler code here
if(m_bDock)
{
m_bDock=FALSE;
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
}
else
{
m_bDock=TRUE;
CMiniFrameWnd *pMini=(CMiniFrameWnd*)m_wndToolBar.GetParent();
ASSERT(pMini);
m_wndToolBar.SetParent(this);
pMini->DestroyWindow();
RecalcLayout();
}
}
就可以动态控制 工具条 能不能 停靠。
以上代码在 w2000 上 可能有问题, 要加:
m_bDock=TRUE;
if(!m_wndToolBar.IsFloating())
FloatControlBar(&m_wndToolBar,CPoint(0,0));