[WXMDIClientWindowBase] Comprendre l'exemple de base
Bonjour,
Suite a mon post sur la gestion de Multi Windows sur wxWidget, j'ai testé d'utiliser les DMI, +/- avec succes. Le sample est pas si fou que ca (en gros 0 commentaire dans le code, ce qui rend difficile sa lecture ^^ surtout que du wxWidget c'est pas si evident que ca a lire en y etant nouveau..).
Bref, voila mon soucis :
j'arrive tres bien a avoir 2 fenetres ouvertes independantes (non modal window) mais des lors que j'essaie de les creer en tant que wxMDIChildFrame et on en tant que wxFrame, je recois une erreur la : wxMDIClientWindow (dans mdi.h ligne 75 de la lib).
J'imagine donc qu'il me faut un client window..
1/ on a bien frame = window + toolbar+menu+'close/maximize/minimize' ?
2/ Voila mon code qui me renvoie l'erreur a l'execution :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| bool MyApp::OnInit()
{
wxInitAllImageHandlers();
wxMDIParentFrame *mainWindow = new wxMDIParentFrame(NULL,1,"coucou");
wxFrame *frame = new MyFrame(mainWindow, "test1.txt", wxColour(255,0,0,0));
mainWindow->AddChild(frame);
frame->Show( TRUE );
wxFrame *frame2 = new MyFrame(mainWindow, "test2.txt", wxColour(0,255,0,0));
mainWindow->AddChild(frame2);
frame2->Show( TRUE );
mainWindow->Show(TRUE);
return TRUE;
} |
et le constructeur de ma classe MyFrame :
Code:
1 2 3 4 5
| MyFrame::MyFrame(wxMDIParentFrame* parent, std::string fileCurveName, wxColour color)
: wxMDIChildFrame(parent, -1, wxT("Visualisation Tool"), wxDefaultPosition, wxSize(500, 500))
{
// creation de menu
} |
NB : mon code "marche" avec des wxFrame au lieu des wxMDIChildFrame mais je n'arrive pas les inclure dans une window parente...
Merci d'avance =)
Pour etre plus clair, si ca peut marcher depuis le code que j'ai deja, je suis preneur aussi - cad simplement ajouter un parent a 2 wxFrame ...
Edit : le code qui marche avec les wxFrame ressemblent a ceci :
Code:
1 2 3 4 5 6 7
| wxFrame *frame = new MyFrame("test1.txt", wxColour(255,0,0,0));
frame->Show( TRUE );
wxFrame *frame2 = new MyFrame("test2.txt", wxColour(0,255,0,0));
frame2->Show( TRUE );
return TRUE; |
avec MyFrame qui extendent wxFrame et non wxMDIChildFrame...