Crazy_Challenger

导航

 

void CControl::DrawMarkLine(int DisplayNO, MarkLine pLine)
{
CIVisionView pView = (CIVisionView)g_pView;
int rcDisplayID;
int Zoom = 1;

switch (DisplayNO)
{
case 1:
rcDisplayID = IDC_STATIC_DISPLAY1;
break;
case 2:
rcDisplayID = IDC_STATIC_DISPLAY2;
break;
case 3:
rcDisplayID = IDC_STATIC_DISPLAY3;
break;
case 4:
rcDisplayID = IDC_STATIC_DISPLAY4;
break;
case 5:
rcDisplayID = IDC_STATIC_DISPLAY5;
break;
case 6:
rcDisplayID = IDC_STATIC_DISPLAY6;
break;
case 7:
rcDisplayID = IDC_STATIC_DISPLAY7;
break;
case 8:
rcDisplayID = IDC_STATIC_DISPLAY8;
break;
case 9:
rcDisplayID = IDC_STATIC_DISPLAY9;
break;
case 10:
rcDisplayID = IDC_STATIC_DISPLAY10;
break;
default:
return;
}

switch (pLine.ZoomSize)
{
case 4:
Zoom = 16;
break;
case 5:
Zoom = 15;
break;
case 6:
Zoom = 14;
break;
case 7:
Zoom = 13;
break;
case 8:
Zoom = 12;
break;
case 9:
Zoom = 11;
break;
case 10:
Zoom = 10;
break;
case 11:
Zoom = 9;
break;
case 12:
Zoom = 8;
break;
case 15:
Zoom = 7;
break;
case 18:
Zoom = 6;
break;
case 22:
Zoom = 5;
break;
case 25:
Zoom = 4;
break;
case 38:
Zoom = 3;
break;
case 50:
Zoom = 2;
break;
case 100:
Zoom = 1;
break;
case 200:
Zoom = 0.5;
break;
case 400:
Zoom = 0.25;
break;
default:
return;
}

CDC *pDC = pView->GetDlgItem(rcDisplayID)->GetDC();
CPen drawPen(PS_SOLID, pLine.LineWidth, pLine.Color);
pDC->SelectObject(&drawPen);
pDC->MoveTo(int(pLine.StartX / Zoom), int(pLine.StartY / Zoom));
pDC->LineTo(int(pLine.EndX / Zoom), int(pLine.EndY / Zoom));
pView->GetDlgItem(rcDisplayID)->ReleaseDC(pDC);

}

posted on 2019-07-12 23:56  Crazy_Challenger  阅读(158)  评论(0)    收藏  举报