我通过mfc框架生成了一个多文档的工程(包含一个“输出窗口”),这个输出窗口可以自动停靠在框架的右边,但是我自己创建了一个“任务面板窗口”,用DockControlBar(m_pWndToolBoxBar);和m_pWndToolBoxBar->DockToWindow(&m_wndOutput, CBRS_ALIGN_RIGHT);都不能让“任务面板窗口”停靠在“输出窗口”旁。    请各位大侠帮帮忙,看看如何让自己添加的控件停靠在指定的位置???

解决方案 »

  1.   

    可参考 http://topic.csdn.net/t/20040315/22/2846721.html
      

  2.   

    你少一条语句
    m_pWndToolBoxBar.EnableDocking(CBRS_ALIGN_RIGHT);
      

  3.   


         bNameValid = strOutputWnd.LoadString(IDS_PANE_OUTPUT);
    ASSERT(bNameValid);
    if (!m_wndOutput.Create(strOutputWnd, this, CRect(0, 0, 300, 400), TRUE, ID_OUTPUT, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI))
    {
    TRACE0("Failed to create Output window\n");
    return FALSE;
    } // Create detail window
    CString strDetailWnd = _T("");
    bNameValid = strDetailWnd.LoadString(IDS_DETAIL_WND);
    ASSERT(bNameValid);
    if (!m_pwndDetail->Create(strDetailWnd, this, CRect(0, 0, 300, 400), TRUE, ID_DETAIL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI))
    {
    TRACE0("Failed to create Detail window\n");
    return FALSE;
    }
    m_pwndDetail->EnableDocking(CBRS_ALIGN_ANY);
    m_wndOutput.EnableDocking(CBRS_ALIGN_ANY); DockPane(m_pwndDetail);
    m_wndOutput.DockToWindow(m_pwndDetail, CBRS_ALIGN_BOTTOM);创建时m_pwndDetail和m_wndOutput默认右边 CBRS_RIGHT通过m_wndOutput.DockToWindow(m_pwndDetail, CBRS_ALIGN_BOTTOM);使得m_wndOutput停靠在m_pwndDetail的下部, 也就是右下部. 
      

  4.   

    我想让ToolBoxBar的大小不可调整,然后以固定大小的方式停靠在其他OutputBar的左边。
      

  5.   

    CPane类的大小不能固定的不管用什么方式。