none
窗口最大化,在恢复原来大小,窗口布局有调整 RRS feed

  • 问题

  • MDI程序,有DockablePane分割主窗口成几个部分。

    现在的问题,在非最大化状态调整布局,按最大化按钮最大化,在恢复成非最大化状态,DockablePane的分割窗口没有保存原来状态,被重新计算了。

    请问如何保持这个原始窗口状态?

    2020年3月24日 1:24

全部回复

  • 你好,

    感谢您在MSDN论坛发帖提问。

    >>现在的问题,在非最大化状态调整布局,按最大化按钮最大化,在恢复成非最大化状态,DockablePane的分割窗口没有保存原来状态,被重新计算了。

    我尝试复现你的问题,在CMainFrame中包含CDockablePane,它们将自动保存状态和位置,不需要编写任何代码。请问你的CDockablePane是在CMainFrame中还是在CChildFrame中?

    默认的MFC项目使用 CDockingManager类来实现控制在主框架窗口中对接布局的核心功能。在此类中,您可以使用CDockingManager :: DisableRestoreDockState,将 bDisable = TRUE 设置 为允许从注册表加载对接布局。

    GetDockingManager()->DisableRestoreDockState(TRUE);

    Best Regards,

    Jeanine Zhang

    2020年3月24日 5:41
    版主
  • CDockablePane是在CMainFrame中。我试试看新创建一个工程是否会保存原来状态,看看哪里出现了问题。

    多谢

    2020年4月3日 2:03