如何保留当前会话的窗口坐标 - VC ++

时间:2015-08-17 21:05:38

标签: visual-c++ mfc

如果用户将窗口拖动到某个位置并将其关闭,我想保留子窗口坐标,以便在重新启动时它应该在之前的坐标中打开。

但是第一次启动它应该在父窗口的中心打开。

我可以让子窗口隐藏而不是关闭,以便它在重新启动时在同一位置打开

1 个答案:

答案 0 :(得分:1)

MFC中有基础设施可以为您处理大部分内容。请注意,当您打开和关闭向导生成的窗口时,它将保存窗口大小和位置,MRU等状态。

转到https://msdn.microsoft.com/en-us/library/bb983877.aspx并按Ctrl-F进入状态'。您将看到几种可以重写以保存状态的方法。您很可能希望在CWinAppEx派生类中实现Save / LoadCustomState。查看CWinAppEx中SaveState的实现,了解如何在注册表中存储自己的设置。

Re:启动时的中心窗口,你应该在InitInstance()或CMainFrame的OnCreate()结束时实现它,具体取决于你想要做什么。