gpt4 book ai didi

c++ - 如何使 CMDIChildWnd 在 MFC 中可停靠?

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:43 25 4
gpt4 key购买 nike

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

此代码是 Button Click 事件创建多个 Frame....

    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

最佳答案

  1. 首先创建一个可停靠 Pane ,要创建一个可停靠 Pane ,您必须首先从 CMDIFrameWndEx 派生。
  2. CMainFrame 中添加该 Pane 成员
  3. 重要的样式,CBRS_FLOAT_MULTI 使可停靠 Pane 在附加到选项卡时作为一个单元 float 。像 CBRS_LEFT 这样的对齐样式为 Pane 提供了初始对齐方式。
  4. 选项卡式 Pane 是一种将多个 Pane 相互对接的概念,以形成一个内部包含各个 Pane 的常规选项卡控件。使用 AttachToTabWnd() 添加您的 Pane

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com