Effacer un Panel proprement
Bonjour,
J'ai un problème par rapport à l'effacement d'un wxPanel et d'un wxNotebook.
Je n'arrive pas à le faire proprement.
donc au départ ma MainFrame est vierge. L'utilisateur clique sur les fonction du menu est ca lance CreateAllPages() :
Code:
1 2 3 4 5 6 7 8
|
m_panel = new wxPanel(this);
m_notebook = new wxNotebook(m_panel, ID_NOTEBOOK, wxDefaultPosition, wxSize(500,500), wxNO_FULL_REPAINT_ON_RESIZE|wxCLIP_CHILDREN|wxBC_DEFAULT); sizerMainFrame = new wxBoxSizer(wxVERTICAL); sizerMainFrame->Add(m_notebook, 1, wxGROW | (wxALL & ~(wxTOP | wxBOTTOM)), 10);
wxPanel *panel = CreateGeneralPage(m_notebook);
m_notebook->AddPage( panel, GENERAL_PAGE_NAME, false, GetIconIndex(m_notebook));
m_panel->SetSizer(sizerMainFrame);
sizerMainFrame->Fit(this);
sizerMainFrame->SetSizeHints(this); |
m_panel, m_notebook, sizerMainFrame sont définies dans les variables de la classe MainFrame.
Je souhaite donc désallouer ces variables, pour retrouver ma MainFrame vierge.
Voila le code qui foire
Code:
1 2 3
|
m_notebook->DeleteAllPages();
sizerMainFrame->Clear(true); |
J'ai tenté
Code:
1 2 3 4
|
m_panel=NULL;
m_notebook=NULL;
sizerMainFrame=NULL; |
Après mon effacement raté, si je relance CreateAllPages(), mon notebook s'affiche plus.
Quelqu'un aurait une idée pour me faire avancer pls ? :aie: