Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
записка.лянг.100.docx
Скачиваний:
2
Добавлен:
27.04.2019
Размер:
423.82 Кб
Скачать

Void cZasyadkoView::Draw()

{

CClientDC dc(this);

SetMapMode(dc,MM_LOMETRIC);

SetViewportOrgEx(dc, ox, oy, NULL);

//Траектории

if(flag3==1)

{

int x,y;

x=bx+cos(65*3.14/180)*ab;

y=by+sin(65*3.14/180)*ab;

CPen newpen3(PS_SOLID,20,RGB(100,255,100));

dc.SelectObject(newpen3);

dc.MoveTo(x-(209-340)/kl*(dab/100),y+(200)/kl*(dab/100));

dc.LineTo(x-(209-340)/kl*(dab/100),y+(50)/kl*(dab/100));

CPen newpen4(PS_SOLID,20,RGB(255,150,150));

dc.SelectObject(newpen4);

kl=kl/2.6;

dc.Arc(x-(209-197)/kl*(dab/100), y+(157-162)/kl*(dab/100),

x-(209-320)/kl*(dab/100), y+(157-210)/kl*(dab/100),

x-(209-272)/kl*(dab/100), y+(157-150)/kl*(dab/100),

x-(209-213)/kl*(dab/100), y+(157-200)/kl*(dab/100));

CPen newpen5(PS_SOLID,20,RGB(150,150,255));

dc.SelectObject(newpen5);

dc.Arc(x-(209-37)/kl*(dab/100), y+(157-100)/kl*(dab/100),

x-(209-1037)/kl*(dab/100), y+(157-1100)/kl*(dab/100),

x-(209-37)/kl*(dab/100), y+(157+390)/kl*(dab/100),

x-(209-37)/kl*(dab/100), y+(157-75)/kl*(dab/100));

CPen newpen6(PS_SOLID,20,RGB(100,100,100));

dc.SelectObject(newpen6);

dc.Arc(x-(209+479)/kl*(dab/100), y+(157-120)/kl*(dab/100),

x-(209-521)/kl*(dab/100), y+(157-1120)/kl*(dab/100),

x-(209-266)/kl*(dab/100), y+(157-120)/kl*(dab/100),

x-(209-191)/kl*(dab/100), y+(157-120)/kl*(dab/100));

kl=kl*2.6;

}

//Звенья

CPen newpen1;

newpen1.CreatePen(PS_SOLID,1,RGB(0,0,0));

dc.SelectObject(newpen1);

dc.MoveTo(bx, by);

dc.LineTo(ax, ay);

dc.MoveTo(cx, cy);

dc.LineTo(a1x, a1y);

dc.MoveTo(a1x, a1y);

dc.LineTo(ax, ay);

dc.MoveTo(ax-(a1x-ax), (ay-(a1y-ay)));

dc.LineTo(a1x, a1y);

dc.MoveTo(mx, my);

dc.LineTo(kx, ky);

dc.MoveTo(kx,ky);

dc.LineTo(kx,ky-ab);

CBrush brush;

brush.CreateHatchBrush(HS_BDIAGONAL,RGB(0,0,0));

dc.SelectObject(brush);

CPen newpen2;

newpen2.CreatePen(PS_SOLID,1,RGB(255,255,255));

//Стойки

dc.MoveTo(bx,by);

dc.LineTo(bx-30,by-30);

dc.MoveTo(bx,by);

dc.LineTo(bx+30,by-30);

dc.SelectObject(newpen2);

dc.Rectangle(bx-30, by-30, bx+30, by-60);

dc.SelectObject(newpen1);

dc.MoveTo(bx-30,by-30);

dc.LineTo(bx+30,by-30);

dc.MoveTo(cx,cy);

dc.LineTo(cx-30,cy-30);

dc.MoveTo(cx,cy);

dc.LineTo(cx+30,cy-30);

dc.SelectObject(newpen2);

dc.Rectangle(cx-30, cy-30, cx+30, cy-60);

dc.SelectObject(newpen1);

dc.MoveTo(cx-30,cy-30);

dc.LineTo(cx+30,cy-30);

dc.MoveTo(kx-ab/60,by+ab/5*2);

dc.LineTo(kx-ab/60,by+ab/5);

dc.SelectObject(newpen2);

dc.Rectangle(kx-ab/60-30, by+ab/5*2, kx-ab/60, by+ab/5);

dc.SelectObject(newpen1);

dc.MoveTo(kx+ab/60-1, by+ab/5*2);

dc.LineTo(kx+ab/60-1, by+ab/5);

dc.SelectObject(newpen2);

dc.Rectangle(kx+ab/60+30, by+ab/5*2, kx+ab/60+1, by+ab/5);

dc.SelectObject(newpen1);

//Шарниры

CPen newpen6;

newpen6.CreatePen(PS_SOLID,1,RGB(100,100,255));

dc.SelectObject(newpen6);

dc.Ellipse(bx-10/kl*dab/100,by-10/kl*dab/100,bx+10/kl*dab/100,by+10/kl*dab/100);

dc.Ellipse(cx-10/kl*dab/100,cy-10/kl*dab/100,cx+10/kl*dab/100,cy+10/kl*dab/100);

dc.Ellipse(a1x-10/kl*dab/100,a1y-10/kl*dab/100,a1x+10/kl*dab/100,a1y+10/kl*dab/100);

dc.Ellipse(ax-10/kl*dab/100,ay-10/kl*dab/100,ax+10/kl*dab/100,ay+10/kl*dab/100);

dc.Ellipse(mx-10/kl*dab/100,my-10/kl*dab/100,mx+10/kl*dab/100,my+10/kl*dab/100);

dc.Ellipse(kx-10/kl*dab/100,ky-10/kl*dab/100,kx+10/kl*dab/100,ky+10/kl*dab/100);

//Буквы

dc.SetTextColor(RGB(255,100,100));

dc.SetBkMode(TRANSPARENT);

dc.TextOut(bx+10,by+4,"B");

dc.TextOut(cx+10,cy+4,"C");

dc.TextOut(kx+10,ky-10,"K");

dc.TextOut(ax-15,ay-10,"A");

dc.TextOut(a1x+10,a1y-10,"A'");

dc.TextOut(mx,my+10,"M'");

}