wxNotebook,每个标签都有不同大小的内容

时间:2011-06-30 20:38:53

标签: wxwidgets

如果我创建一个wxNotebook并用几个页面填充它,wxNotebook的内容区域在每个选项卡上都是相同的大小(具有最大内容的页面的大小)。有没有办法动态调整wxNotebook的大小,只能在该视图中包含Panel所需的大小,例如抛出EVT_NOTEBOOK_PAGE_CHANGED时?

1 个答案:

答案 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();
}