如果我创建一个wxNotebook并用几个页面填充它,wxNotebook的内容区域在每个选项卡上都是相同的大小(具有最大内容的页面的大小)。有没有办法动态调整wxNotebook的大小,只能在该视图中包含Panel所需的大小,例如抛出EVT_NOTEBOOK_PAGE_CHANGED时?
答案 0 :(得分:0)
我设法调整 wxNotebook 的大小,但我无法以编程方式获取标签的大小。我在笔记本中添加了面板,我知道每个面板的大小。 所以我连接了这个事件:
m_notebook->Connect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler(MyClass::OnTabSelect), NULL, this);
这是一个示例事件监听器:
void MyClass::OnTabSelect( wxNotebookEvent& event )
{
wxSize s = GetSize();
int tabIndex = event.GetSelection();
s.x = m_tabWidth[tabIndex];
s.y = m_tabHeight[tabIndex];
SetSize(s);
Refresh();
event.Skip();
}