[wx] Panel wird erstellt, erscheint aber nicht
-
Ich möchte gerne etwas ähnliches wie in diesem http://www.c-plusplus.net/forum/viewtopic-var-t-is-175682.html Tutorial schreiben (das ist mein erster Kontakt mit wxWidgets). Nun habe ich meine eigene Klasse erstellt die von einem wxPanel abgeleitet ist:
class patEditor : public wxPanel { public: patEditor(wxWindow* Parent, const wxPoint& Pos, const wxString&); void OnPaint( wxPaintEvent& event ); };
patEditor::patEditor( wxWindow* Parent, const wxPoint& Pos, const wxString& Name ) : wxPanel ( Parent, wxNewId(), Pos, wxSize ( 400,150 ),wxFULL_REPAINT_ON_RESIZE, Name ) { Connect(wxEVT_PAINT,wxPaintEventHandler(patEditor::OnPaint)); Connect(wxEVT_LEFT_DOWN,wxMouseEventHandler(patEditor::OnLeftClick)); } void patEditor::OnPaint( wxPaintEvent& event ) { wxPaintDC DC(this); wxPen Pen; Pen.SetColour(0,0,0); DC.SetPen(Pen); wxBrush Brush; Brush.SetColour(255,255,255); DC.SetBrush(Brush); DC.DrawRectangle(2,2,398,148); }
Dann erstelle ich dieses Panel in meinem Code mit
patEditor Editor(this, wxPoint ( 50,50 ));
aber nichts erscheint im Fenster ... und schon bin ich überfordert
-
Liegt wohl an der Art und Weise wie du deine Panelklasse instanizierst.
Du solltest dies mit new tun, und ausserdem sollte das Fenster was das Panel enthält auch einen Sizer enthalten.
Siehe Tutorial
-
Klingt Sinvoll ...