MFC 停靠对话框 outside/without CMainFrame

MFC Docking Dialog outside/without CMainFrame

我已经用谷歌搜索,我发现的所有文章都显示在 CMainFrame 本身内部创建停靠对话框。我 want/need 能够创建一个 Popup 对话框,它本身就是一个可停靠对话框,因为我需要 create/add 多个对话框而不是 CMainFrame。即

class CustomObjectClassDocking : public CFrameWndEx
{
    public:
    DECLARE_DYNAMIC(CustomObjectClassDocking)
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
}

int CustomObjectClassDocking::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    m_wndObjectPane.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    EnableAutoHidePanes(CBRS_ALIGN_ANY);
    DockPane(&m_wndObjectPane);
}


void StartCustomDockDlg
{
   CustomObjectClassDocking *pCustDock = new CustomObjectClassDocking();
   pCustDock->Create(/*what is suppose to go here?*/); //stuck here currently.
}

*Class 不必继承自 CFrameWndEx,但需要可停靠。

有没有人有任何工作示例,我可以在哪里找到相关信息或我将如何处理?

谢谢。

经过一番searching/testing,找到了解决方案;

从上面;

void StartCustomDockDlg::StartCustomDockingDlg
{
    CRect wndRect;
    GetWindowRect(wndRect);
   CustomObjectClassDocking *pCustDock = new CustomObjectClassDocking();
   pCustDock->Create(NULL, NULL, WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME, wndRect, this);

}

以下帮助; C++ MFC Feature Pack --> Create multiple CDockablePanes onto an CDialog