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() :
m_panel, m_notebook, sizerMainFrame sont définies dans les variables de la classe MainFrame.
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);
Je souhaite donc désallouer ces variables, pour retrouver ma MainFrame vierge.
Voila le code qui foire
J'ai tenté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 m_notebook->DeleteAllPages(); sizerMainFrame->Clear(true);
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 ?![]()






Répondre avec citation
Partager