- •ЗаДание к курсовой работе:
- •Содержание
- •Этапы выполнения курсовой работы
- •Этапы разработки программы
- •Блок-схема программы
- •2.3 Создание меню
- •2.4 Создание диалога для входных значений
- •Заключение
- •Приложение Листинг программы
- •Void vxod_dialog::DoDataExchange(cDataExchange* pDx)
- •Void vxod_dialog::OnOk()
- •Void vxod_dialog::OnDefaultd()
- •Void vxod_dialog::OnSaved()
- •Void vxod_dialog::OnLoadd()
- •Implement_dyncreate(cZasyadkoView, cView)
- •Void cZasyadkoView::Draw()
- •Void cZasyadkoView::Clear()
- •Void cZasyadkoView::OnVxod()
- •Vxod_dialog dlg;
- •Void cZasyadkoView::OnTimer(uint nIdEvent)
- •Void cZasyadkoView::OnStop()
- •Void cZasyadkoView::OnTraektor()
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'");
}
