我想将CMDIChildWnd设置为可停靠的...。创建窗框的代码在单击功能区按钮时,我希望将所有窗口停靠在选项卡格式中,当我放置“拖动我的框”时,显示停靠管理器格式[DT_SMART] ...

此代码是按钮单击事件,创建多个框架。

    pDocTemplate_New1 = new CMultiDocTemplate ( IDR_RiboonCFormViewTYPE,
                RUNTIME_CLASS(CRiboonCFormViewTestDoc),
                RUNTIME_CLASS(CChildFrame), // custom MDI child frame
                RUNTIME_CLASS(CDepartement));
    AfxGetApp () -> AddDocTemplate (pDocTemplate_New1);

    // Create a new child window
    CMDIChildWnd * pMDIActive = MDIGetActive (); // get the pointer of the currently active child window
    //CDocument * pDoc = (CDocument *) pMDIActive-> GetActiveDocument (); // get the document pointer
    CMDIChildWnd * pNewFrame = (CMDIChildWnd *) (pDocTemplate_New1 -> CreateNewFrame (NULL, NULL));
    pNewFrame->EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    // Create a new frame window
    if (pNewFrame == NULL)
    {
        AfxMessageBox("new window can not be established ", MB_OK, 0);
    }
    pDocTemplate_New1 -> InitialUpdateFrame (pNewFrame, NULL); // display window
    MDITile (MDITILE_HORIZONTAL); // tile multiple windows

最佳答案

首先创建一个可停靠窗格,要创建一个可停靠窗格,您必须首先从CMDIFrameWndEx派生。
CMainFrame中添加该窗格成员
重要的样式是CBRS_FLOAT_MULTI,使可固定窗格在附着到选项卡时会作为一个单元浮动。
诸如CBRS_LEFT的对齐样式可为窗格提供初始对齐。
选项卡式窗格是将窗格彼此停靠在一起以形成带有单个窗格的常规选项卡控件的概念。
使用AttachToTabWnd()添加您的窗格

关于c++ - 如何使CMDIChildWnd在MFC中可停靠?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27460498/

10-11 22:42