Visual c++ wxWidgets wxFrame在wxNotebook中调整大小

Visual c++ wxWidgets wxFrame在wxNotebook中调整大小,visual-c++,wxwidgets,Visual C++,Wxwidgets,我正在使用wxWidget来设计GUI。我的GUI有多个选项卡。如果用户调整框架的大小,如果他选择了某个选项卡,当他在选项卡之间切换时,应保持相同的修改大小。我正在使用sizers来放置所有子窗口。但目前这种情况没有发生。我现在的代码是这样的 void XTab::OnPageChanged(wxNotebookEvent & event) { if(isActive()) { int page = event.GetOldSelection(); if(

我正在使用wxWidget来设计GUI。我的GUI有多个选项卡。如果用户调整框架的大小,如果他选择了某个选项卡,当他在选项卡之间切换时,应保持相同的修改大小。我正在使用sizers来放置所有子窗口。但目前这种情况没有发生。我现在的代码是这样的

void XTab::OnPageChanged(wxNotebookEvent & event)
{
    if(isActive())
    {
    int page = event.GetOldSelection();
    if(page!=-1)
    {
        XPanel * panel = (XPanel*)GetPage(page);
        xdmlASSERT(panel->isActive());
        panel->onUIDeactivate();
    }
    page = event.GetSelection();
    if(page!=-1)
    {
        XPanel * panel = (XPanel*)GetPage(page);
        xdmlASSERT(!panel->isActive());
        panel->onUIActivate();
    }
    RecalcSize();
    DFrame::UpdateLayout(this);
}

}


其中,DFrame是从wxFrame派生的,XPanel是从wxPanel派生的。在GetSizer->CalcMin()方法中重新计算大小并查询最佳大小。这在ReCalcSize()中发生。我不知道为什么用户设置的帧大小不能持久。有没有办法动态存储所有子项的修改大小?你能发送一些代码吗?

可能重复的请问一个问题。您可以编辑您的问题以使其更清楚。