我有一个小小的wxWidget应用程序,它可以将一些首选项保存到一个简单的xml文件中。在这些偏好中,我存储了顶级窗口的位置,大小和最大化状态,以便在下次启动时恢复它。如何获得wxWidget窗口的“非最大化”状态
默认情况下,当您最大化一个窗口时,当您再次单击最大化按钮时,您将恢复您的初始(未最大化)位置/大小。但是,当我保存我的偏好时,我能得到的唯一位置和大小就是最大化的。因此,当用户重新启动其应用程序并希望“取消最大化”时,该窗口仍将占据整个屏幕。
在Windows XP上,我做了一个小技巧,在获取位置和大小之前调用SetMaximize(false)。这工作得很好。但是现在我已经在七岁了,这已经不起作用了。看起来SetMaximize(false)是延迟的:当我中断时,它可以工作,但在正常执行期间,我总是以最大化的位置/大小结束,就好像unmaximize操作在另一个线程中完成一样。
所以我试着在我的“SetMaximize(false)”调用后添加一个Sleep(),但我需要使用一个非常高的值来确保它始终有效,而且我不喜欢那样。
所以,我的问题是:有没有办法获得非最大化窗口的位置和大小? (我也试图捕捉调整大小的事件,但它只适用于大小,我需要的位置也...并没有发现任何“窗口移动”事件)
在此先感谢您的帮助!
唉,我的谷歌功能还不够强大:(我已经找到了一种方法来完成这项工作,但它只是Windows。所以我仍然很想知道是否有任何方法可以做到这一点,如果有人对“仅限Windows”解决方案感兴趣,请点击此处:http://msdn.microsoft.com/en-us/library/windows/desktop/ms633518%28v=vs.85%29.aspx – Citron