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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
   m_notebook->DeleteAllPages();
   sizerMainFrame->Clear(true);
J'ai tenté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?