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..