Visual c++ wxWidgets wxFrame在wxNotebook中调整大小
我正在使用wxWidget来设计GUI。我的GUI有多个选项卡。如果用户调整框架的大小,如果他选择了某个选项卡,当他在选项卡之间切换时,应保持相同的修改大小。我正在使用sizers来放置所有子窗口。但目前这种情况没有发生。我现在的代码是这样的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(
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()中发生。我不知道为什么用户设置的帧大小不能持久。有没有办法动态存储所有子项的修改大小?你能发送一些代码吗?可能重复的请问一个问题。您可以编辑您的问题以使其更清楚。