#endif
// for all others, include the necessary headers (this file is usually all you
-// need because it includes almost all "standard" wxWindows headers
+// need because it includes almost all "standard" wxWindows headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
// ----------------------------------------------------------------------------
-// ressources
+// resources
// ----------------------------------------------------------------------------
// the application icon
#if defined(__WXGTK__) || defined(__WXMOTIF__)
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
// event handlers (these functions should _not_ be virtual)
+ void OnPaint(wxPaintEvent& event)
+ {
+ wxPaintDC dc(this);
+ dc.DrawRectangle(20, 20, 100, 100);
+ dc.SetPen(*wxRED_PEN);
+ dc.SetDeviceOrigin(20, 20);
+ dc.SetClippingRegion(0, 0, 100, 100);
+ dc.DrawLine(0, 0, 1000, 1000);
+ }
+
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+ EVT_PAINT(MyFrame::OnPaint)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
END_EVENT_TABLE()
// the application class
// ----------------------------------------------------------------------------
-// `Main program' equivalent: the program execution "starts" here
+// 'Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
// create the main application window
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
- wxPanel *panel = new wxPanel(this, -1);
- wxStaticBox *box = new wxStaticBox(panel, -1, "box");
- wxComboBox *combo = new wxComboBox(panel, -1, "combo");
- wxLayoutConstraints *c;
- c = new wxLayoutConstraints;
- c->left.SameAs(panel, wxLeft);
- c->right.SameAs(panel, wxRight);
- c->top.SameAs(panel, wxTop);
- c->bottom.SameAs(panel, wxBottom);
- box->SetConstraints(c);
- c = new wxLayoutConstraints;
- c->left.SameAs(box, wxLeft, 20);
- c->right.SameAs(box, wxRight, 10);
- c->top.SameAs(box, wxTop, 10);
- c->bottom.SameAs(box, wxBottom, 10);
- combo->SetConstraints(c);
- panel->SetAutoLayout(TRUE);
-
#if wxUSE_STATUSBAR
// create a status bar just for fun (by default with 1 pane only)
CreateStatusBar(2);