在wxWidgets中恢复wxFrame的修改大小

时间:2014-04-07 08:45:34

标签: windows wxwidgets

我正在使用wxWidgets在Windows中设计GUI。要求是,如果用户修改了帧大小,那么我必须存储修改后的大小并使用修改后的大小进行下一个会话。我能够存储大小,但我仍然在下一个会话中使用较旧的大小而不是修改后的大小。我的窗户有几个孩子(支票,文字,标签)。使用sizer将这些控件放在面板中。每次查询和重新计算最佳大小并调用SetClientSize(size)时。这是不能反映修改后尺寸的原因吗?

1 个答案:

答案 0 :(得分:1)

首先,不要自己保存和恢复帧大小,而是使用wxPersistentTLW代替它,有关详细信息,请参阅overview,有关使用示例,请参阅“小部件”示例它保留了框架的几何形状。

其次,wxWidgets中的布局机制完全是确定性的,因此恢复与上次运行期间相同的帧大小肯定会导致孩子们使用相同的位置和大小。如果不是这种情况(我不确定它,你实际上并没有说出问题是什么),最可能的解释是你的大小保存/恢复代码无法正常工作 - 而且这只是摆脱它并使用内置的支持应解决问题(无论它是什么)。