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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...