📄 multargetview.cpp
字号:
clpDC.DrawText("时 间",TM2Rect,DT_TOP);
//
CRect AirLDRect(RightX/2*1.06,RightY/2*1.37,RightX/2*1.2,RightY/2*1.52);
clpDC.DrawText("平台1",AirLDRect,DT_TOP);
//
CRect OnwaterLDRect(RightX/2*1.06,RightY/2*1.55,RightX/2*1.20,RightY/2*1.77);
clpDC.DrawText("平台2",OnwaterLDRect,DT_TOP);
//
CRect UnwaterLDRect(RightX/2*1.06,RightY/2*1.8,RightX/2*1.2,RightY/2*2);
clpDC.DrawText("平台3",UnwaterLDRect,DT_TOP);
//
CPen pWhite(PS_SOLID,2,RGB(0,0,255));
//pYellow.CreatePen(PS_SOLID,1,RGB(0,0,256));
clpDC.SelectObject(&pWhite);
clpDC.MoveTo(RightX/2*1.06,RightY/2*1.07);
clpDC.LineTo(RightX/2*1.06,RightY/2*2);
clpDC.MoveTo(RightX/2*1.06,RightY/2*1.12);
clpDC.LineTo(RightX/2*2,RightY/2*1.12);
clpDC.MoveTo(RightX/2*1.06,RightY/2*1.35);
clpDC.LineTo(RightX/2*2,RightY/2*1.35);
clpDC.MoveTo(RightX/2*1.06,RightY/2*1.54);
clpDC.LineTo(RightX/2*2,RightY/2*1.54);
clpDC.MoveTo(RightX/2*1.06,RightY/2*1.79);
clpDC.LineTo(RightX/2*2,RightY/2*1.79);
//纵向1
clpDC.MoveTo(RightX/2*1.21,RightY/2*1.07);
clpDC.LineTo(RightX/2*1.21,RightY/2*2);
//
clpDC.MoveTo(RightX/2*1.36,RightY/2*1.07);
clpDC.LineTo(RightX/2*1.36,RightY/2*1.26);
//
clpDC.MoveTo(RightX/2*1.66,RightY/2*1.07);
clpDC.LineTo(RightX/2*1.66,RightY/2*1.26);
//
clpDC.MoveTo(RightX/2*1.81,RightY/2*1.07);
clpDC.LineTo(RightX/2*1.81,RightY/2*2);
//
clpDC.MoveTo(RightX/2*1.51,RightY/2*1.07);
clpDC.LineTo(RightX/2*1.51,RightY/2*1.26);
//
clpDC.MoveTo(RightX/2*2,RightY/2*1.07);
clpDC.LineTo(RightX/2*2,RightY/2*2);
//纵向2
clpDC.MoveTo(RightX/2*1.41,RightY/2*1.28);
clpDC.LineTo(RightX/2*1.41,RightY/2*2);
//
clpDC.MoveTo(RightX/2*1.61,RightY/2*1.28);
clpDC.LineTo(RightX/2*1.61,RightY/2*2);
//
//
pWhite.DeleteObject();
pWhite.CreatePen(PS_SOLID,4,RGB(0,0,255));
clpDC.SelectObject(&pWhite);
clpDC.MoveTo(RightX/2*1.06,RightY/2*1.26);
clpDC.LineTo(RightX/2*2,RightY/2*1.26);
// TODO: Add your message handler code here
// Do not call CFormView::OnPaint() for painting messages
}
/*void CMulTargetView::OnOpenairview()
{
CAirView *pDlg=NULL;
if(!pDlg)
{
pDlg=new CAirView(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}*/
void CMulTargetView::OnAirys()
{
// TODO: Add your command handler code here
CAirView *pDlg=NULL;
if(!pDlg)
{
pDlg=new CAirView(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}
void CMulTargetView::OnOpenairld()
{
CMulTargetDoc * pDoc=GetDocument();
//if(pDoc->m_deg11==0&&pDoc->m_deg12==0)
//{
//pDoc->m_deg11=255;
//pDoc->m_deg12=285;
deg1=255;
deg2=285;
SetTimer(1,1,NULL);
//}
}
void CMulTargetView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CMulTargetDoc *pDoc=GetDocument();
CClientDC clpDC(this);
CDC memDC;
memDC.CreateCompatibleDC(&clpDC);
//扫描区
//CRect SmRect(0,0,cClientRect.CenterPoint().x*1.1,cClientRect.CenterPoint().y*1.3);
CRect SmRect(0,0,CX*0.95,CY);
CBitmap memBitmap;
memBitmap.CreateCompatibleBitmap(&clpDC,SmRect.Width(),SmRect.Height());
memDC.SelectObject(&memBitmap);
memDC.SelectObject(&bBlack);
memDC.SelectObject(&pYellow);
memDC.FillRect(SmRect,&bBlack);//
CRect Ellipserect(m_Aircx,m_Aircy,m_Aircx,m_Aircy);
Ellipserect.InflateRect(m_AirR,m_AirR);
memDC.Ellipse(Ellipserect);
//memDC.SetROP2(R2_NOTXORPEN);
//同心圆
for(int i=4;i>0;i--)
{
CRect Ellipserect(m_Aircx,m_Aircy,m_Aircx,m_Aircy);
Ellipserect.InflateRect(0.2*i*m_AirR,0.2*i*m_AirR);
memDC.Ellipse(Ellipserect);
}
//memDC.SetROP2(R2_NOTXORPEN);
CRect TittleAir(CX*0.7,0,CX*0.95,CY*0.1);
memDC.SetTextColor(RGB(255,255,255));
memDC.SetBkMode(TRANSPARENT); //文本设置为透明模式
memDC.DrawText("平台1",TittleAir,DT_TOP);
if(deg1==360)
{
deg1=0;
}
if(deg2==360)
{
deg2=0;
}
double mr=m_AirR-3;
deg1+=5;
deg2+=5;
double x1=m_Aircx-mr,
y1=m_Aircy-mr,
x2=m_Aircx+mr,
y2=m_Aircy+mr;
memDC.SelectObject(&bWhite);
memDC.SelectObject(&pWhite);
memDC.Pie(x1,y1,x2,y2,m_Aircx+mr*cos(deg2*pi/180),
m_Aircy+mr*sin(deg2*pi/180),m_Aircx+mr*cos(deg1*pi/180),
m_Aircy+mr*sin(deg1*pi/180));
//目标显示
for(int loopmb=0;loopmb<=pDoc->m_mb;loopmb++)
{
CPen pRed(PS_DASH,1,RGB(255,0,0));
CBrush bRed(RGB(255,0,0));
memDC.SelectObject(&pRed);
memDC.SelectObject(&bRed);
int loop=0;
//for(int loop=0;loop<=pDoc->m_mbhj;loop++)
if(pDoc->m_mb>-1&&pDoc->AirMB[loopmb][loop].d<m_lch)
{
while(pDoc->AirMB[loopmb][loop].hj)
{
int flag=0;
double fwj1=pDoc->AirMB[loopmb][loop].fwj,
fwj2=fwj1-90;
double xloop=m_Aircx+m_xspm*cos(fwj2*pi/180)*pDoc->AirMB[loopmb][loop].d,
yloop=m_Aircy+m_xspm*sin(fwj2*pi/180)*pDoc->AirMB[loopmb][loop].d;
CRect mbRect2(xloop,yloop,xloop,yloop);
mbRect2.InflateRect(1,1);
memDC.Ellipse(mbRect2);
loop++;
}
double fwj1=pDoc->AirMB[loopmb][loop-1].fwj,
fwj2=fwj1-90,
d=pDoc->AirMB[loopmb][loop-1].d,
v=pDoc->AirMB[loopmb][loop-1].v;
if(deg2-pDoc->AirMB[loopmb][loop-1].fwj>=-5&&
deg2-pDoc->AirMB[loopmb][loop-1].fwj<=0)
{
d-=pDoc->AirMB[loopmb][loop-1].v*1;
pDoc->AirMB[loopmb][loop].d=d;
pDoc->AirMB[loopmb][loop].fwj=fwj1;
pDoc->AirMB[loopmb][loop].v=v;
pDoc->AirMB[loopmb][loop].hj=true;
}
double x0=m_Aircx+m_xspm*cos(fwj2*pi/180)*d,
y0=m_Aircy+m_xspm*sin(fwj2*pi/180)*d;
CRect mbRect(x0,y0,x0,y0);
mbRect.InflateRect(3,3);
memDC.Ellipse(mbRect);
bRed.DeleteObject();
pRed.DeleteObject();
}
}
memDC.SelectObject(&pWhite);
memDC.SetROP2(R2_NOTXORPEN);
clpDC.BitBlt(0,0,SmRect.Width(),SmRect.Height(),&memDC,0,0,SRCCOPY);
memDC.DeleteDC;
ReleaseDC(&memDC);
clpDC.SetTextColor(RGB(255,255,255));
clpDC.SetBkMode(TRANSPARENT); //文本设置为透明模式
char text[10];
_gcvt(pDoc->m_pt1ldzq,10,text);
clpDC.TextOut(RightX/2*1.24,RightY/2*1.40,text);//雷达周期显示
_gcvt(1/(double)pDoc->m_pt1ldzq,10,text);
clpDC.TextOut(RightX/2*1.44,RightY/2*1.40,text);
_gcvt(pDoc->m_pt1ldzyjl,10,text);
clpDC.TextOut(RightX/2*1.64,RightY/2*1.40,text);
_gcvt(pDoc->m_pt1sd,10,text);
clpDC.TextOut(RightX/2*1.24,RightY/2*1.20,text);
_gcvt(pDoc->m_pt1hxj,10,text);
clpDC.TextOut(RightX/2*1.40,RightY/2*1.20,text);
_gcvt(pDoc->m_pt1zyj,10,text);
clpDC.TextOut(RightX/2*1.54,RightY/2*1.20,text);
_gcvt(pDoc->m_pt1hyj,10,text);
clpDC.TextOut(RightX/2*1.70,RightY/2*1.20,text);
CFormView::OnTimer(nIDEvent);
}
void CMulTargetView::OnLdxx()
{
// TODO: Add your command handler code here
CLdxxDlg *pDlg=NULL;
if(!pDlg)
{
pDlg=new CLdxxDlg(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}
void CMulTargetView::OnJtxx()
{
// TODO: Add your command handler code here
CWjcshDlg *pDlg=NULL;
if(!pDlg)
{
pDlg=new CWjcshDlg(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}
void CMulTargetView::OnMbshc()
{
// TODO: Add your command handler code here
CMulTargetDoc *pDoc=GetDocument();
pDoc->m_T=pDoc->m_pt1ldzq;
CAirView *pDlg=NULL;
if(!pDlg)
{
pDlg=new CAirView(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -