wxWidgets wxFrame在wxNotebook中调整大小

时间:2014-04-09 13:03:23

标签: visual-c++ wxwidgets

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

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()中。我不知道用户设置的帧大小不会持久的原因。有没有办法动态存储所有孩子的修改大小呢?你可以为此发送一些代码吗?

0 个答案:

没有答案