📄 graficoview.cpp
字号:
int orA, orB;
orA=-1000;
orB=880+10*pDoc->larBro;
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
pDC->Rectangle(orA-185,orB,orA+185,orB-400);
pDC->SelectObject(nobsc);
pDC->Rectangle(orA-115,orB-400,orA+115,orB-560);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aclaro);
pDC->Rectangle(orA-170,orB-560,orA+170,orB-600);
pDC->Rectangle(orA-40,orB-710,orA+40,orB-880);
pDC->SelectObject(aobsc);
pDC->Rectangle(orA-170,orB-600,orA+170,orB-710);
pDC->SelectObject(filo);
pDC->SelectObject(herram);
pDC->Rectangle(-1000-5*pDoc->diamBro,orB-880,-1000+5*pDoc->diamBro,orB-880-10*pDoc->larBro);
if (pDoc->cargarFre==0)
{
// 8.1 TENAZAS
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aclaro);
POINT AjustI[]={{-400,390},{-500,390},{-500,360},{-570,360},{-570,280},{-500,280},{-500,-280},{-570,-280},{-570,-360},{-500,-360},{-500,-390},{-400,-390}};
pDC->Polygon(AjustI,12);
pDC->SelectObject(aobsc);
pDC->Rectangle(-400,150,-420,-150);
pDC->Rectangle(-440,390,-510,-390);
pDC->Ellipse(-450,15,-480,-15);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aclaro);
POINT AjustD[]={{400,390},{500,390},{500,360},{570,360},{570,280},{500,280},{500,-280},{570,-280},{570,-360},{500,-360},{500,-390},{400,-390}};
pDC->Polygon(AjustD,12);
pDC->SelectObject(aobsc);
pDC->Rectangle(400,150,420,-150);
pDC->Rectangle(440,390,510,-390);
pDC->Ellipse(450,15,480,-15);
}
if (pDoc->cargarFre==1)
{
// 4.1 ESCOGE MATERIAL
if (pDoc->materialf == 0)
{
pincel=new CBrush(RGB(145, 145, 145));
lapiz=new CPen(PS_SOLID,0,RGB(145, 145, 145));
}
if ( pDoc->materialf == 1)
{
pincel=new CBrush(RGB(185, 185, 185));
lapiz=new CPen(PS_SOLID,0,RGB(185, 185, 185));
}
if (pDoc->materialf == 2)
{
pincel=new CBrush(RGB(206,177,80));
lapiz=new CPen(PS_SOLID,0,RGB(206,177,80));
}
if (pDoc->materialf == 3)
{
pincel=new CBrush(RGB(205,105,5));
lapiz=new CPen(PS_SOLID,0,RGB(205,105,5));
}
if (pDoc->materialf == 4)
{
pincel=new CBrush(RGB(177, 203, 222));
lapiz=new CPen(PS_SOLID,0,RGB(177, 203, 222));
}
// 9.1 TOCHO f(MATERIAL)
pDC->SelectObject(pincel);
pDC->SelectObject(lapiz);
pDC->Rectangle(10*pDoc->largof/2,10*pDoc->anchof/2,-10*pDoc->largof/2,-10*pDoc->anchof/2);//Medir las coordenadas reales con el CADTECH
delete (pincel);
delete (lapiz);
// 9.2 TENAZAS f(TOCHO)
long c;
c = 5*pDoc->largof;
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aclaro);
POINT AjustI[]={{-c,390},{-c-100,390},{-c-100,360},{-c-170,360},{-c-170,280},{-c-100,280},{-c-100,-280},{-c-170,-280},{-c-170,-360},{-c-100,-360},{-c-100,-390},{-c,-390}};
pDC->Polygon(AjustI,12);
pDC->SelectObject(aobsc);
pDC->Rectangle(-c,150,-c-20,-150);
pDC->Rectangle(-c-40,390,-c-110,-390);
pDC->Ellipse(-c-50,15,-c-80,-15);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aclaro);
POINT AjustD[]={{c,390},{c+100,390},{c+100,360},{c+170,360},{c+170,280},{c+100,280},{c+100,-280},{c+170,-280},{c+170,-360},{c+100,-360},{c+100,-390},{c,-390}};
pDC->Polygon(AjustD,12);
pDC->SelectObject(aobsc);
pDC->Rectangle(c,150,c+20,-150);
pDC->Rectangle(c+40,390,c+110,-390);
pDC->Ellipse(c+50,15,c+80,-15);
}
delete (lapizAzul);
delete (lapizNar);
delete (filo);
delete (aclaro);
delete (aobsc);
delete (nclaro);
delete (nobsc);
delete (herram);
}
/// SIMULAR
if (pDoc->presentar==1 && pDoc->fresa==1 && pDoc->cargarFre==1 && pDoc->broca==1 && pDoc->simular==1)
{
pDC->SetViewportOrg(rectClient.right / 1.5, rectClient.bottom / 1.5);
lapizAzul=new CPen(PS_SOLID,0,RGB(78,78,156));
lapizNar=new CPen(PS_SOLID,0,RGB(176,92,0));
aclaro=new CBrush(RGB(191,191,223));
aobsc=new CBrush(RGB(157,157,205));
nclaro=new CBrush(RGB(255,180,100));
nobsc=new CBrush(HS_DIAGCROSS,RGB(255,160,70));
lapiz2=new CPen(PS_SOLID,0,RGB(255,255,255));
filo=new CPen(PS_SOLID,0,RGB(10,89,42));
herram=new CBrush(RGB(70,235,135));
borrarbroca=new CBrush(RGB(255,255,255));
borrarfilo=new CPen(PS_SOLID,0,RGB(255,255,255));
if (pDoc->materialf == 0)
{
borrar=new CBrush(RGB(200,200,200));
}
if ( pDoc->materialf == 1)
{
borrar=new CBrush(RGB(230,230,230));
}
if (pDoc->materialf == 2)
{
borrar=new CBrush(RGB(245,220,145));
}
if (pDoc->materialf == 3)
{
borrar=new CBrush(RGB(250,170,95));
}
if (pDoc->materialf == 4)
{
borrar=new CBrush(RGB(220,230,240));
}
if (pDoc->Inicio==1)
{
MessageBox("Bienvenido","Inicio del Programa",MB_OK);
}
long p, q;
int i, j, k = 10, v, xa;
long c = 5*pDoc->largof;
char charxf[10], charyf[10], charzf[10];
v=1000000;
switch (pDoc->velocidad)
{
case 0:
v=5000000;
break;
case 1:
v=1000000;
break;
case 2:
v=500000;
break;
}
for(i=1; i<pDoc->nl;i++)
{
sprintf(charxf, "%0.3f",pDoc->x[i]);
sprintf(charyf, "%0.3f",pDoc->y[i]);
sprintf(charzf, "%0.3f",pDoc->z[i]);
pDC->TextOut(300, 800, charxf);
pDC->TextOut(300, 750, charyf);
pDC->TextOut(300, 700, charzf);
m = abs(pDoc->y[i]-pDoc->y[i-1]);
xa = abs(abs(pDoc->x[i]) - abs(pDoc->x[i-1]));
// pinta portabrocas en la simulaci髇
int orA, orB;
orA=-1000;
orB=880+10*pDoc->larBro+10*pDoc->z[i];
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
pDC->Rectangle(orA-185,orB,orA+185,orB-400);
pDC->SelectObject(nobsc);
pDC->Rectangle(orA-115,orB-400,orA+115,orB-560);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aclaro);
pDC->Rectangle(orA-170,orB-560,orA+170,orB-600);
pDC->Rectangle(orA-40,orB-710,orA+40,orB-880);
pDC->SelectObject(aobsc);
pDC->Rectangle(orA-170,orB-600,orA+170,orB-710);
pDC->SelectObject(herram);
pDC->SelectObject(filo);
pDC->Rectangle(-1000-5*pDoc->diamBro,orB-880,-1000+5*pDoc->diamBro,orB-880-10*pDoc->larBro);
for(j=0; j<v; j++);
if (i>1 && i<pDoc->nl-1)// borra portabrocas en la simulaci髇
{
pDC->SelectObject(borrarbroca);
pDC->SelectObject(borrarfilo);
orA=-1000;
orB=880+10*pDoc->larBro+10*pDoc->z[i];
pDC->Rectangle(orA-185,orB,orA+185,orB-400);
pDC->Rectangle(orA-115,orB-400,orA+115,orB-560);
pDC->Rectangle(orA-170,orB-560,orA+170,orB-600);
pDC->Rectangle(orA-40,orB-710,orA+40,orB-880);
pDC->Rectangle(orA-170,orB-600,orA+170,orB-710);
pDC->Rectangle(-1000-5*pDoc->diamBro,orB-880,-1000+5*pDoc->diamBro,orB-880-10*pDoc->larBro);
}
if (m <= 2 || xa>0.05)
{
p = k*pDoc->x[i-1];
q = k*pDoc->y[i-1];
pDC->SelectObject(filo);
pDC->SelectObject(herram);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
p = k*pDoc->x[i];
q = k*pDoc->y[i];
pDC->SelectObject(filo);
pDC->SelectObject(herram);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
continue;
}
if (m>2 && pDoc->y[i] > pDoc->y[i-1])
{
r = pDoc->x[i];
s = pDoc->x[i-1];
q = k*pDoc->y[i-1];
for (n=s; n<r; n++)
{
p = k*(n);
pDC->SelectObject(filo);
pDC->SelectObject(herram);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
}
continue;
}
if (m>2 && pDoc->y[i] < pDoc->y[i-1])
{
r = pDoc->x[i];
s = pDoc->x[i-1];
q = k*pDoc->y[i-1];
for (n=s; n>r; n--)
{
p = k*(n);
pDC->SelectObject(filo);
pDC->SelectObject(herram);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
pDC->Ellipse(p-5*pDoc->diamBro,q+5*pDoc->diamBro,p+5*pDoc->diamBro,q-5*pDoc->diamBro);
}
continue;
}
}
delete (lapizAzul);
delete (lapizNar);
delete (lapiz2);
delete (filo);
delete (aclaro);
delete (aobsc);
delete (nclaro);
delete (nobsc);
delete (borrar);
delete (herram);
delete (borrarbroca);
delete (borrarfilo);
}
/// ADVERTENCIAS
if (pDoc->presentar==0 && (pDoc->cargarTor==1 || pDoc->cargarFre==1 || pDoc->cuchilla==1 || pDoc->broca==1 || pDoc->simular==1))
{
MessageBox("\nCargue el C骴igo G\n\n","Advertencia",MB_OK);
pDoc->cargarTor=0, pDoc->cargarFre=0, pDoc->cuchilla=0, pDoc->broca=0, pDoc->simular=0;
}
if (pDoc->fresa==1 && pDoc->simular==1 && pDoc->cargarFre==0 && pDoc->broca==0 && pDoc->cuchilla==0)
{
MessageBox("\nCargue el tocho y la broca\n\n", "Advertencia", MB_OK);
pDoc->simular=0;
}
if (pDoc->simular==1 && pDoc->broca==0 && pDoc->cargarFre==1)
{
MessageBox("\nCargue la broca\n\n", "Advertencia", MB_OK);
pDoc->simular=0;
}
if (pDoc->simular==1 && pDoc->cargarFre==0 && pDoc->broca==1)
{
MessageBox("\nCargue el tocho\n\n", "Advertencia", MB_OK);
pDoc->simular=0;
}
if (pDoc->fresa==1 && pDoc->cuchilla==1)
{
MessageBox("\n\nCargue la broca como herramienta\n\n", "Advertencia", MB_OK);
pDoc->cuchilla=0;
}
if (pDoc->fresa==1 && pDoc->cargarTor==1)
{
MessageBox("\n\nNo se puede cargar el tocho en el torno\n\n", "Advertencia", MB_OK);
pDoc->cargarTor=0;
}
// inicio = 1; //Badera que indica inicio del programa
}
/////////////////////////////////////////////////////////////////////////////
// CGraficoView diagnostics
#ifdef _DEBUG
void CGraficoView::AssertValid() const
{
CScrollView::AssertValid();
}
void CGraficoView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
CProgramaDoc* CGraficoView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CProgramaDoc)));
return (CProgramaDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CGraficoView message handlers
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -