wxNotebook с разным размером контента для каждой вкладки - PullRequest
2 голосов
/ 01 июля 2011

Если я создаю wxNotebook и заполняю его несколькими страницами, область содержимого wxNotebook имеет одинаковый размер на каждой вкладке (размер страницы с наибольшим содержанием).Есть ли способ динамического изменения размера wxNotebook, чтобы он был настолько большим, насколько это необходимо для размещения Panel в этом представлении, например, когда создается EVT_NOTEBOOK_PAGE_CHANGED?

1 Ответ

0 голосов
/ 04 июля 2012

Мне удалось изменить размер 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();
}
...