if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_RIGHT | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1;      // 未能创建
}
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);当程序第一次启动时,以上代码无法使工具栏默认停靠右边。
m_wndToolBar.EnableDocking(CBRS_ALIGN_RIGHT)可以,但会钉死只能停在右边。

解决方案 »

  1.   

    我这是vc6的,看起来跟您的基本一样 if (!m_wndConnectScheduleToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_RIGHT | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
    !m_wndConnectScheduleToolBar.LoadToolBar(IDR_TOOLBAR_CONNECT_SCHEDULE_EN))下面是EnableDocking

    DockControlBar
    不是DockPane
      

  2.   

    m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockPane(&m_wndMenuBar);
    DockPane(&m_wndToolBar);
    前两行是使工具栏窗口可停靠,最后的ANY是指任意地方,想停靠在右边改成RIGHT即可
    第三行是使主窗口的任何地方可被工具栏停靠,同样改最后一个单词就可以改成任意地方
    最后两行是使工具栏停靠上住对话框
      

  3.   

    这样就可以了。
    DockPane(&m_wndToolBar,  AFX_IDW_DOCKBAR_RIGHT);