Problem mit wxSplitterWindow und wxSizer
-
Hallo zusammen,
ich mächte mein Hauptfenster mit der wxSplitterWindow Klasse teilen. Das klappt auch.
Nur wenn ich jetzt in den Fenstern versuche einen wxTreeCtrl und in dem anderen ein wxTextCtrl über die volle Breite und Höhe mit einem Sizer zu plazieren hat das keine Auswirkungen. Woran kann das liegen?
MyFrame:
Splitter = new wxSplitterWindow(this, -1, wxDefaultPosition, wxDefaultSize, wxSP_3D); Explorer = new MyExplorer(Splitter); Input = new MyInput(Splitter); Splitter->SplitVertically( Explorer, Input );
MyInput:
TextArea = new MyTextArea(this); wxBoxSizer *Sizer = new wxBoxSizer(wxHORIZONTAL); Sizer->Add(TextArea, 1, wxEXPAND, 0); SetSizer(Sizer);
Woran liegt das? MyInput ist von wxWindow abgeleitet.
Danke für eure Hilfe
-
Also so funktionierts bei mir:
splitter = new wxSplitterWindow(this,wxNewId()); projecttree = new main::ProjectTreeCtrl(splitter, wxNewId()); projecttree->SetWindowStyle(projecttree->GetWindowStyle()|wxTR_HIDE_ROOT); projecttree->AddRoot(""); m_panel1 = new wxPanel(splitter, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); splitter->SplitVertically(projecttree,m_panel1); wxFlexGridSizer *fgSizer = new wxFlexGridSizer(1, 1, 0, 0); fgSizer->AddGrowableCol(0); fgSizer->AddGrowableRow(0); fgSizer->Add(splitter, 0, wxALL|wxEXPAND, 0); this->SetSizer(fgSizer); this->SetAutoLayout(true); this->Layout();
evtl. liegt es an dem -1 bei der ID im wxSplitterWindow Constructor,
oder du musst mal mit den Sizerflags etwas rumspielen(wxALL|wxEXPAND z.b.).
-
Hi,
also ich musste MyExplorer und MyInput nur von wxPanel ableiten, dann ging es.
War ja auch was blöd von wxWindow abzuleiten.