2014-04-07 19 views
0

我正在使用wxWidgets在Windows中設計GUI。要求是,如果用戶修改了框架大小,那麼我必須存儲修改過的大小並在下一次會話中使用修改過的大小。我可以存儲大小,但仍然會變大,而不是下次會話中的修改大小。我的窗戶有幾個孩子(支票,文字,標籤)。這些控件使用sizer放置在面板中。每次查詢並重新計算最佳尺寸並調用SetClientSize(size)。這是爲什麼修改後的大小沒有反映出來的原因嗎?在wxWidgets中恢復wxFrame的修改大小

回答

0

首先,請不要自行保存和恢復幀大小,請使用wxPersistentTLW替代它,請參閱overview以獲取更多信息,以及使用「widgets」示例來舉例說明如何使用它來保留幀幾何。其次,wxWidgets中的佈局機制是完全確定性的,因此恢復與上次運行時相同的幀大小應該肯定導致兒童使用相同的位置和大小。如果情況並非如此(我不太確定,但實際上並沒有說出問題所在),但最有可能的解釋是您的尺寸保存/恢復代碼無法正常工作 - 而且這只是簡單的擺脫它,並使用內置的支持,這應該解決這個問題(不管它是什麼)。