/**************/ /* shakkila.c */ /**************/ /* ** Ohjelma piirtää shakkilaudan. ** Project: shakkila.c, demo.def, ALI\tabhand.c */ #include #include "tabhand.h" #define MUSTA 0 #define VAREJA 5 int Varit[] = {BLACK_BRUSH,WHITE_BRUSH,GRAY_BRUSH,DKGRAY_BRUSH,LTGRAY_BRUSH}; /****************************************************************************/ TblClassSWindowMAIN("TblShakkiClass",NULL,"Shakkilauta",MsgTbl,0); /****************************************************************************/ /****************************************************************************/ void seuraava_vari(int *vari) { if ( ++(*vari) >= VAREJA) *vari = MUSTA; } /****************************************************************************/ void Lauta(HDC hDC, int x, int y, int nx, int ny, int ruudun_koko) { HBRUSH vanha,sutit[VAREJA]; int i, xi, yi, vari, rivin_eka_vari = MUSTA; for (i=0; ihDC,SIIRTO,SIIRTO,RUUTUJA_X,RUUTUJA_Y,KOKO); return 0; } static EVENT WM_create(tMSGParam *msg) { POINT h = tGetClientLost(msg->hWnd); MoveWindow(msg->hWnd,10,10, RUUTUJA_X*KOKO+2*SIIRTO+h.x,RUUTUJA_Y*KOKO+2*SIIRTO+h.y,FALSE); return 0; } /****************************************************************************/ /* Viestien käsittelytaulukko */ /****************************************************************************/ tMSGEntry MsgTbl[] = { EV_HANDLE_WM_DESTROY, { WM_PAINT , DoC , DoC , WM_paint, MAKE_DC }, /*a*/ { WM_CREATE , DoC , DoC , WM_create }, /*a*/ { 0 } }; /****************************************************************************/