#include #include "mdialog.h" #include "tabhand.h" #include "tausta.h" //HBRUSH hBr; static HBITMAP hbmpNew; /*******************************************************************/ TblClassWindowMAIN("TaustaClass",0,"Tausta",MsgTbl,0); /*******************************************************************/ /****************************************************************************/ static int ukko(HDC hDC) { Ellipse( hDC,40,40,80,80); /* Pää */ MoveToEx(hDC, 60, 80,NULL); LineTo( hDC, 60,180); /* Keskivartalo */ LineTo( hDC, 20,260); /* Vasen jalka */ MoveToEx(hDC, 60,180,NULL); LineTo( hDC,100,260); /* Oikea jalka */ MoveToEx(hDC, 20,170,NULL); LineTo( hDC, 60, 90); /* Vasen käsi */ LineTo( hDC,120, 40); /* Oikea käsi */ return 0; } /*******************************************************************/ static EVENT WM_create(tMSGParam *msg) { // HBITMAP hbmpNew; HGDIOBJ hOld; HBRUSH hBr, hBrOld; HDC hDCBm = CreateCompatibleDC(msg->hDC); hbmpNew = CreateCompatibleBitmap(msg->hDC,200,260); // hbmpNew = CreateCompatibleBitmap(hDCBm,200,260); hOld = SelectObject(hDCBm,hbmpNew); hBr = CreateSolidBrush(RGB(255,255,0)); hBrOld = SelectObject(hDCBm, hBr); Rectangle(hDCBm, 0,0,200,260); SelectObject(hDCBm, hBrOld); DeleteObject(hBr); ukko(hDCBm); SelectObject(hDCBm, hOld); DeleteDC(hDCBm); return 0; } /*******************************************************************/ /*******************************************************************/ static EVENT WM_destroy(tMSGParam *msg) { (void)msg; DeleteObject(hbmpNew); PostQuitMessage(0); return 0; } /*******************************************************************/ /*******************************************************************/ static EVENT WM_size(tMSGParam *msg) { (void)msg; InvalidateRect(msg->hWnd,NULL,TRUE); return 0; } /*******************************************************************/ /*******************************************************************/ static EVENT WM_erasebkgnd(tMSGParam *msg) { TaytaBittikartalla(msg->hWnd,(HDC)(msg->wParam),hbmpNew); // PiirraBittikartta((HDC)(msg->wParam),hbmpNew,0,0); return 0; } /*******************************************************************/ /*******************************************************************/ /* Viestien käsittelytaulukko */ /*******************************************************************/ tMSGEntry MsgTbl[] = { { WM_CREATE , DoC , DoC , WM_create, MAKE_DC }, { WM_DESTROY , DoC , DoC , WM_destroy }, { WM_SIZE , DoC , DoC , WM_size }, { WM_ERASEBKGND , DoC , DoC , WM_erasebkgnd }, { 0 } }; /*******************************************************************/