使用CDockablePane拆分MainFrm

时间:2017-03-15 09:56:00

标签: visual-c++ mfc

我有两个Cdockablepane,我希望它像CSplitWnd一样。 我现在不使用splitwnd,因为我需要对接功能.. Current UI 绿色是MainFrame,蓝色,黄色是我创建的Dockablepane。 红色的一个是重叠的部分我想摆脱。
我有黄色.DockToWindow(& blue,CBRS_RIGHT);在我的代码中 但我不知道是什么造成了重叠的部分.. 和黑色部分我想用蓝色和黄色窗格填充MainFrame。 Target UI所以我希望我的代码看起来像这样。 我尝试在create()上更改黄色和蓝色的CRect(),但似乎不是答案。 或改变风格..... 所以如果有任何想法请告诉我..

我的...我想更好地描述.. 谢谢。

=============================================== ============================  以下是CMainFrame MFC中的代码。创建MainFrame时,它会创建CDockablepane黄色和蓝色。

 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
 {
 if (!blue.Create(_T("HORIZONTAL ROBOT PANE"), this, CRect(0, 0, 800, 500), TRUE, ID_DOCKABLE_LEFT,
    dwViewStyle | CBRS_ALIGN_LEFT))                                         
  {
    return FALSE; 
}                                 
blue.SetMinSize(CSize(800, 400)); 
blue.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&blue, AFX_IDW_DOCKBAR_LEFT);

if (!yellow.Create(_T("VERTICAL ROBOT PANE"), this, CRect(0, 0, 650, 500), TRUE, ID_DOCKABLE_RIGHT,
    dwViewStyle | CBRS_ALIGN_RIGHT))
{

    return FALSE; 
}
yellow.SetMinSize(CSize(400, 400)); 
yellow.EnableDocking(CBRS_ALIGN_ANY); 
DockPane(&yellow, AFX_IDW_DOCKBAR_RIGHT);
yellow.DockToWindow(&blue, CBRS_RIGHT);
}

0 个答案:

没有答案