我在windows中使用wxwidget。我有GUI有几个选项卡。要求是用户应该有可能在选项卡之间切换时调整框架大小。现在,当前代码是这样编写的。 void XTab :: OnPageChanged(wxNotebookEvent& event) { 如果(isActive()) { int page = event.GetOldSelection(); 如果(页面!= - 1) { XPanel * panel =(XPanel *)GetPage(page); 面板 - > onUIDeactivate(); } page = event.GetSelection(); 如果(页面!= - 1) { XPanel * panel =(XPanel *)GetPage(page); xdmlASSERT(面板 - >!isActive()); 面板 - > onUIActivate(); } RecalcSize(); DFRAME :: UpdateLayout请(本);
其中Dframe派生自wxFrame,XPanel派生自wxPanel,XTab源自wxNotebook。是否有我在我的代码中使用sizer来放置所有子窗口。面板被添加到sizer中,所有子窗口都在面板中。 RecalcSize()正在使用GetSizer() - > CalcMin()来获取所需的最小帧大小。如果用户已调整框架大小,则在切换选项卡时,此修改后的大小应保持不变 目前这种情况并没有发生。怎么做到这一点?