/****************/ /* drawman.cpp */ /****************/ // Ohjelma, joka aukaisee yhden ikkunan ja piirtää siihen tikku-ukon // Esimerkki piirtämisestä ja värin vaihtamisesta /vl-96 // Projektiin vain tämä tiedosto. OWL 5.0 #include // Owl 5.0:ssa owlpch.h => owl.h //------------------------------------------------------------------------------ class TMainWindow : public TFrameWindow { public: TMainWindow(TWindow *Parent, LPCSTR ATitle) : TFrameWindow(Parent, ATitle) {} void Paint(TDC &dc,bool, TRect &); DECLARE_RESPONSE_TABLE(TMainWindow); }; DEFINE_RESPONSE_TABLE1(TMainWindow,TFrameWindow) EV_WM_PAINT, END_RESPONSE_TABLE; //------------------------------------------------------------------------------ class TDrawManApp : public TApplication { public: TDrawManApp(const char far *name = 0) : TApplication(name) {}; void InitMainWindow() { MainWindow = new TMainWindow(NULL, Name); } }; //------------------------------------------------------------------------------ void TMainWindow::Paint(TDC &dc,bool, TRect &) { TBrush brRed(RGB(255,0,0)); dc.SelectObject(brRed); dc.Ellipse(40,40,80,80); // Pää punaisella sisustalla, musta raami dc.RestoreBrush(); TPen penBlue(RGB(0,0,255)); dc.SelectObject(penBlue); dc.MoveTo( 60, 80); dc.LineTo( 60,180); // Keskivartalo sinisellä TPen penGreen(RGB(0,255,0)); dc.SelectObject(penGreen); dc.LineTo( 20,260); // Vasen jalka dc.RestorePen(); // alkupeäinen musta kynä käyttöön dc.MoveTo( 60,180); dc.LineTo(100,260); // Oikea jalka mustalla dc.MoveTo( 20,170); dc.LineTo( 60, 90); // Vasen käsi dc.LineTo(120, 40); // Oikea käsi } //------------------------------------------------------------------------------ int OwlMain(int ,char far * []) { return TDrawManApp("Värillinen tikku-ukko").Run(); }