2011-06-30 11 views
2

wxNotebookを作成して複数のページを作成すると、wxNotebookのコンテンツ領域はすべてのタブ(最大のコンテンツを持つページのサイズ)で同じサイズになります。 EVT_NOTEBOOK_PAGE_CHANGEDがスローされた場合など、そのビューにPanelを格納するのに必要なだけの大きさになるように、wxNotebookのサイズを動的に変更する方法はありますか?wxNotebook各タブごとに異なるサイズのコンテンツ

答えて

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(); 
} 
関連する問題