To jest program rysujacy ostroslup trojwymiarowy z mozliwoscia obracania go (tzn element rysujacy w komunikacie od timera)
case WM_TIMER:
{
HBRUSH hbr;
HRGN hrgn;
HPEN pen,pioro;
HDC hdc;
hdc=GetDC(hWnd);
hrgn=CreateRectRgn(0,0,1200,800);
hbr=CreateSolidBrush(RGB(100,255,0));
SelectObject(hdc,hrgn);
FillRgn(hdc,hrgn,hbr);
DeleteObject(hrgn);
DeleteObject(hbr);
Obrot_y(tab1,3);
Obrot_y(tab2,3);
Obrot_y(tab3,3);
Obrot_y(tab4,3);
Obrot_y(tab5,3);
pioro = CreatePen(PS_SOLID, 3 , RGB(0,0,200));
SelectObject(hdc,pioro);
MoveTo(hdc,496,329);
LineTo(hdc,498,331);
LineTo(hdc,498,329);
MoveTo(hdc,497+(tab1[0][0]*90)-(31.819805*tab1[2][0]),330+(31.819805*tab1[2][0])-(tab1[1][0]*90));
LineTo(hdc,497+(tab2[0][0]*90)-(31.819805*tab2[2][0]),330+(31.819805*tab2[2][0])-(tab2[1][0]*90));
LineTo(hdc,497+(tab3[0][0]*90)-(31.819805*tab3[2][0]),330+(31.819805*tab3[2][0])-(tab3[1][0]*90));
LineTo(hdc,497+(tab4[0][0]*90)-(31.819805*tab4[2][0]),330+(31.819805*tab4[2][0])-(tab4[1][0]*90));
LineTo(hdc,497+(tab1[0][0]*90)-(31.819805*tab1[2][0]),330+(31.819805*tab1[2][0])-(tab1[1][0]*90));
LineTo(hdc,497+(tab5[0][0]*90)-(31.819805*tab5[2][0]),330+(31.819805*tab5[2][0])-(tab5[1][0]*90));
MoveTo(hdc,497+(tab2[0][0]*90)-(31.819805*tab2[2][0]),330+(31.819805*tab2[2][0])-(tab2[1][0]*90));
LineTo(hdc,497+(tab5[0][0]*90)-(31.819805*tab5[2][0]),330+(31.819805*tab5[2][0])-(tab5[1][0]*90));
MoveTo(hdc,497+(tab3[0][0]*90)-(31.819805*tab3[2][0]),330+(31.819805*tab3[2][0])-(tab3[1][0]*90));
LineTo(hdc,497+(tab5[0][0]*90)-(31.819805*tab5[2][0]),330+(31.819805*tab5[2][0])-(tab5[1][0]*90));
MoveTo(hdc,497+(tab4[0][0]*90)-(31.819805*tab4[2][0]),330+(31.819805*tab4[2][0])-(tab4[1][0]*90));
LineTo(hdc,497+(tab5[0][0]*90)-(31.819805*tab5[2][0]),330+(31.819805*tab5[2][0])-(tab5[1][0]*90));
DeleteObject(pioro);
pioro = CreatePen(PS_SOLID, 1 , RGB(200,0,0));
SelectObject(hdc,pioro);
MoveTo(hdc,497+(tab1[0][0]*90)-(31.819805*tab1[2][0]),330+(31.819805*tab1[2][0])-(tab1[1][0]*90));
LineTo(hdc,497+(tab3[0][0]*90)-(31.819805*tab3[2][0]),330+(31.819805*tab3[2][0])-(tab3[1][0]*90));
MoveTo(hdc,497+(tab2[0][0]*90)-(31.819805*tab2[2][0]),330+(31.819805*tab2[2][0])-(tab2[1][0]*90));
LineTo(hdc,497+(tab4[0][0]*90)-(31.819805*tab4[2][0]),330+(31.819805*tab4[2][0])-(tab4[1][0]*90));
MoveTo(hdc,497+(tab0[0][0]*90)-(31.819805*tab0[2][0]),330+(31.819805*tab0[2][0])-(tab0[1][0]*90));
LineTo(hdc,497+(tab5[0][0]*90)-(31.819805*tab5[2][0]),330+(31.819805*tab5[2][0])-(tab5[1][0]*90));
DeleteObject(pioro);
ReleaseDC(hWnd,hdc);
break;
}