Bei mit wxFormbuilder erstellten Frames funnktionieren die events nicht



  • Hallo,
    Ich benutze wxFormbuilder um meine Fenster zu generieren. Mit xwDialogs funktioniert auch alles wunderbar, aber wenn ich ein Frame erstelle dann funktionieren die Button usw. events nicht. Kann mir jemand sagen woran das liegt?

    parent cpp

    ///////////////////////////////////////////////////////////////////////////
    // C++ code generated with wxFormBuilder (version Apr 16 2008)
    // http://www.wxformbuilder.org/
    //
    // PLEASE DO "NOT" EDIT THIS FILE!
    ///////////////////////////////////////////////////////////////////////////
    
    #include "ImageDisplay.h"
    
    ///////////////////////////////////////////////////////////////////////////
    
    ImageFrame::ImageFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
    {
    	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
    
    	wxBoxSizer* bSizer1;
    	bSizer1 = new wxBoxSizer( wxVERTICAL );
    
    	m_button1 = new wxButton( this, wxID_ANY, wxT("MyButton"), wxDefaultPosition, wxDefaultSize, 0 );
    	bSizer1->Add( m_button1, 0, wxALL, 5 );
    
    	this->SetSizer( bSizer1 );
    	this->Layout();
    
    	// Connect Events
    	this->Connect( wxEVT_PAINT, wxPaintEventHandler( ImageFrame::OnPaint ) );
    	m_button1->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ImageFrame::Onclick ), NULL, this );
    }
    
    ImageFrame::~ImageFrame()
    {
    	// Disconnect Events
    	this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( ImageFrame::OnPaint ) );
    	m_button1->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ImageFrame::Onclick ), NULL, this );
    }
    

    parent header

    ///////////////////////////////////////////////////////////////////////////
    // C++ code generated with wxFormBuilder (version Apr 16 2008)
    // http://www.wxformbuilder.org/
    //
    // PLEASE DO "NOT" EDIT THIS FILE!
    ///////////////////////////////////////////////////////////////////////////
    
    #ifndef __ImageDisplay__
    #define __ImageDisplay__
    
    #include <wx/string.h>
    #include <wx/button.h>
    #include <wx/gdicmn.h>
    #include <wx/font.h>
    #include <wx/colour.h>
    #include <wx/settings.h>
    #include <wx/sizer.h>
    #include <wx/frame.h>
    
    ///////////////////////////////////////////////////////////////////////////
    
    ///////////////////////////////////////////////////////////////////////////////
    /// Class ImageFrame
    ///////////////////////////////////////////////////////////////////////////////
    class ImageFrame : public wxFrame 
    {
    	private:
    
    	protected:
    		wxButton* m_button1;
    
    		// Virtual event handlers, overide them in your derived class
    		virtual void OnPaint( wxPaintEvent& event ){ event.Skip(); }
    		virtual void Onclick( wxCommandEvent& event ){ event.Skip(); }
    
    	public:
    		ImageFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Image"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 800,800 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
    		~ImageFrame();
    
    };
    
    #endif //__ImageDisplay__
    

    abgeleitete cpp

    #include "ImageDisplayImageFrame.h"
    
    ImageDisplayImageFrame::ImageDisplayImageFrame( wxWindow* parent )
    :
    ImageFrame( parent )
    {
    
    }
    
    void ImageDisplayImageFrame::OnPaint( wxPaintEvent& event )
    {
    	// TODO: Implement OnPaint
    }
    
    void ImageDisplayImageFrame::Onclick( wxCommandEvent& event )
    {
    	// TODO: Implement Onclick
    }
    

    abgeleiteter header[gg]

    #ifndef __ImageDisplayImageFrame__
    #define __ImageDisplayImageFrame__
    
    /**
    @file
    Subclass of ImageFrame, which is generated by wxFormBuilder.
    */
    
    #include "ImageDisplay.h"
    
    /** Implementing ImageFrame */
    class ImageDisplayImageFrame : public ImageFrame
    {
    protected:
    	// Handlers for ImageFrame events.
    	void OnPaint( wxPaintEvent& event );
    	void Onclick( wxCommandEvent& event );
    
    public:
    	/** Constructor */
    	ImageDisplayImageFrame( wxWindow* parent );
    };
    
    #endif // __ImageDisplayImageFrame__
    

    Das sind die vier dateien die der formbuilder beim beispiel frame mit einem button ausgibt..


Anmelden zum Antworten