Statusbar in Panel-Klasse ändern



  • Hi Leuts,
    folgendes Problem(Ich nutze wxPack und den wxFormBuilder):
    Ich habe mir eine Anwendung mit dem wxFB erstellt. Dieser hat mir nun eine Frameklasse und eine Panelklasse erzeugt. Anschliessend habe ich einen Statusbar hinzugefügt (das geht logischerweise nur in der Frameklasse). Nun möchte ich aber von der Panelklasse aus den Text im Statusfenster ändern. Wie ist das möglich ?
    Die Panelklasse hat keinen Zugriff auf die Frameklasse.
    In der Frameklasse steht lediglich folgendes:

    iParasFrame::iParasFrame( wxWindow *parent, int id )
    	: MainFrame( parent, id )
    {
    	wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL );
    	wxPanel* panel = new iParasPanel( this );
    	sizer->Add( panel, 1, wxEXPAND );
    	wxSize panelSize = panel->GetSize();
    	this->SetSizerAndFit( sizer );
    	this->SetClientSize( panelSize );	
    }
    

    Nun dachte ich, dass ich über panel Zugriff auf die Panelklasse habe und dort einen Pointer auf den Statusbar hinterlegen könnte, eine entsprechende Member und Zugriffsfunktion habe ich in der Panelklasse geschrieben:

    iParasPanel::SetStatusbar(wxStatusBar *p)
    

    Wenn ich nun aber versuche diese Funktion aufzurufen

    panel->SetStatusBar
    

    geht das nicht. Auch klar, denn panel ist ja vom Typ *wxpanel, was wiederum nur die Bassisklasse für iParasPanel ist.
    Was kann man tun ?

    Greets
    Karlheinz


  • Mod

    iParasPanel* panel = new iParasPanel( this );
    

    So vielleicht?


Anmelden zum Antworten