#include "wx/wx.h" #include "wx/sizer.h" class BasicDrawPane : public wxPanel { public: BasicDrawPane(wxFrame* parent); void paintEvent(wxPaintEvent & evt); void paintNow(); void render(wxDC& dc); DECLARE_EVENT_TABLE() }; class MyApp: public wxApp { bool OnInit(); wxFrame *frame; BasicDrawPane * drawPane; public: }; IMPLEMENT_APP(MyApp) bool MyApp::OnInit() { wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); frame = new wxFrame((wxFrame *)NULL, -1, wxT("Приклад 5"),// заголовок вікна wxPoint(50,50), // верхній лівий кут wxSize(260,450));// розміри вікна drawPane = new BasicDrawPane( (wxFrame*) frame ); sizer->Add(drawPane, 1, wxEXPAND); frame->SetSizer(sizer); frame->SetAutoLayout(true); frame->Show(); return true; } BEGIN_EVENT_TABLE(BasicDrawPane, wxPanel) // перехлення події малювання EVT_PAINT(BasicDrawPane::paintEvent) END_EVENT_TABLE() BasicDrawPane:: BasicDrawPane(wxFrame* parent) : wxPanel(parent) {} void BasicDrawPane:: paintEvent(wxPaintEvent & evt) { wxPaintDC dc(this); render(dc); } void BasicDrawPane::paintNow() { wxClientDC dc(this); render(dc); } void BasicDrawPane::render(wxDC& dc) { dc.DrawBitmap(wxBitmap( wxT("10.jpeg"), // шпак wxBITMAP_TYPE_JPEG),// тип 10, 10, // координати ВЛК true ); dc.DrawBitmap( wxBitmap( wxT("02.jpeg"), // дрофа wxBITMAP_TYPE_JPEG), 10, 200, true ); }