wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Mon code wxSplitter ne marche pô bien.... :o(
Conversation (Résolue) : Mon code wxSplitter ne marche pô bien.... :o(
07-11-2008 08:02:51  Mon code wxSplitter ne marche pô bien.... :o( #1
wxDidier (Membre)
Inscrit le : 14-09-2008
Messages: 24
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour

J'ai voulu rendre mon code un peu plus "modulaire" et j'ai donc créé des objets basés sur des wxPanel pour être insérés dans un wxSplitterWindow..mais j'ai une erreur Assert lors du lancement de l'exécutable.

J'ai donc recréé un code simple pour voir où était le problème mais je ne trouve pas....

panright.h

Code:

 
#include <wx/wx.h>
 
class PANRIGHT:public wxPanel
{
    public:
    PANRIGHT();
    PANRIGHT(wxWindow *parent);
 
    wxStaticText *Adroite;
};

panright.cpp

Code:

 
#include "panright.h"
 
PANRIGHT::PANRIGHT(wxWindow *parent):wxPanel()
{
    Adroite = new wxStaticText(this,-1,wxT("Texte de droite"));
}

le panleft

panleft.h

Code:

 
#include <wx/wx.h>
 
class PANLEFT:public wxPanel
{
    public:
    PANLEFT();
    PANLEFT(wxWindow *parent);
 
    wxStaticText *Agauche;
};

panleft.cpp

Code:

 
#include "panleft.h"
 
PANLEFT::PANLEFT(wxWindow *parent):wxPanel()
{
    Agauche = new wxStaticText(this,-1,wxT("Texte de gauche"));
}

Ma Frame qui contient le wxSplitterWindow

Code:

 
#include <wx/wx.h>
#include <wx/splitter.h>
 
class MainWin:public wxFrame
{
    public:
    MainWin();
 
    wxSplitterWindow * Splitter;
};

Code:

 
#include "mainwin.h"
#include "panleft.h"
#include "panright.h"
 
 
MainWin::MainWin():wxFrame(NULL,-1,_(""),wxDefaultPosition,wxDefaultSize)
{
 
    Splitter = new wxSplitterWindow(this,-1,wxDefaultPosition,wxDefaultSize,wxSP_3D);
    PANLEFT *PNL = new PANLEFT(Splitter);
    PANRIGHT *PNR = new PANRIGHT(Splitter);
    Splitter->SplitVertically(PNL,PNR,150);
}
 

Je vous fait grace du init.h et .cpp pour lancer l'application.

Si vous avez des idées, je suis preneur..

Merci beaucoup
07-11-2008 09:27:45  Re: Mon code wxSplitter ne marche pô bien.... :o( #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Il y a une erreur dans la façon dont tu appelles le constructeur de wxPanel depuis celui de tes classes dérivées : tu ne lui passes pas le paramètre parent.
Il faudrait écrire :

Code wxWidgets:

#include "panright.h"
 
PANRIGHT::PANRIGHT(wxWindow *parent):wxPanel(parent, -1)
{
    Adroite = new wxStaticText(this,-1,wxT("Texte de droite"));
}


Je viens de faire le test avec cette modif : ça marche nickel.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
07-11-2008 10:13:36  Re: Mon code wxSplitter ne marche pô bien.... :o( #3
wxDidier (Membre)
Inscrit le : 14-09-2008
Messages: 24
Snippets: 0
Tutoriels: 0
Hors ligne
Merci beaucoup.....!

Je ne peux tester pour le moment pour de gagner+.

Le problème c'est que je n'ai pas eu logique de le penser moi même...Grrrr j'ai encore des trous dans la logique C++.

Merci encore
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Mon code wxSplitter ne marche pô bien.... :o(