Visual c++ 使用CDockablePane拆分MainFrm
我有两个Cdockablepane,我希望它像CSplitWnd一样工作。 我现在没有使用splitwnd,因为我需要对接功能。。 绿色是主机,蓝色,黄色是我创建的停靠板。 红色的是我想去掉的重叠部分。Visual c++ 使用CDockablePane拆分MainFrm,visual-c++,mfc,Visual C++,Mfc,我有两个Cdockablepane,我希望它像CSplitWnd一样工作。 我现在没有使用splitwnd,因为我需要对接功能。。 绿色是主机,蓝色,黄色是我创建的停靠板。 红色的是我想去掉的重叠部分。 我有黄色的。DockToWindow(&blue,CBRS_RIGHT);在我的代码中 但我不知道重叠部分是什么。。 黑色部分我想用蓝色和黄色的窗格填充主机。 所以我希望我的代码看起来像这样。 我尝试在create()上更改黄色和蓝色的正确()但似乎不是答案。 或者改变风格。。。。。 所以,如果
我有黄色的。DockToWindow(&blue,CBRS_RIGHT);在我的代码中 但我不知道重叠部分是什么。。 黑色部分我想用蓝色和黄色的窗格填充主机。 所以我希望我的代码看起来像这样。 我尝试在create()上更改黄色和蓝色的正确()但似乎不是答案。 或者改变风格。。。。。 所以,如果你有什么想法,请告诉我 我的…我想更好地描述。。 多谢各位 =========================================================================== 以下是CMainFrame MFC中的代码。创建大型机时,它会创建黄色和蓝色的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);
}
使用CMainFrame::OnSize(,)中的codeOverride将更容易,并设置黄色和蓝色矩形的大小,这应该会起作用。