📄 airtargetview.cpp
字号:
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx<=m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by>=m_cy)
fwj3=pDoc->AirMB[loopmb][loop].bfwj+90;
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx>=m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by<m_cy)
fwj3=270+pDoc->AirMB[loopmb][loop].bfwj;
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx>=m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by>=m_cy)
fwj3=90-pDoc->AirMB[loopmb][loop].bfwj;
if(deg2-fwj3>-5&°2-fwj3<=0&&pDoc->AirMB[loopmb][loop].d<m_lch&&!pDoc->AirMB[loopmb][loop].tflag)
{
int nItem;
CString str;
str.Format("%ld",pDoc->AirMB[loopmb][loop].mbph);
nItem=m_byxsh.InsertItem(0,str);
switch(pDoc->AirMB[loopmb][loop].dwshxbz)
{
case 1:
str="我方目标";
break;
case 2:
str="敌方目标";
break;
case 3:
str="中立目标";
break;
case 4:
str="不明目标";
break;
}
m_byxsh.SetItemText(nItem,1,str);
switch(pDoc->AirMB[loopmb][loop].lxflag)
{
case 1:
str="水面目标";
break;
case 2:
str="空中目标";
break;
case 3:
str="水下目标";
break;
}
m_byxsh.SetItemText(nItem,2,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].d);
m_byxsh.SetItemText(nItem,3,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].v);
m_byxsh.SetItemText(nItem,4,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].fwj);
m_byxsh.SetItemText(nItem,5,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].q);
m_byxsh.SetItemText(nItem,6,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].x);
m_byxsh.SetItemText(nItem,7,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].y);
m_byxsh.SetItemText(nItem,8,str);
str.Format("%1.1lf",pDoc->AirMB[loopmb][loop].z);
m_byxsh.SetItemText(nItem,9,str);
pDoc->AirMB[loopmb][loop].tflag=true;
pDoc->AirMB[loopmb][loop].wjsdx=pDoc->m_pt1sd*sin(pDoc->m_pt1hxj*pi/180);
pDoc->AirMB[loopmb][loop].wjsdy=-pDoc->m_pt1sd*cos(pDoc->m_pt1hxj*pi/180);
pDoc->AirMB[loopmb][loop+1].bx=pDoc->AirMB[loopmb][loop+1].x-pDoc->m_pt1X;
pDoc->AirMB[loopmb][loop+1].by=pDoc->AirMB[loopmb][loop+1].y-pDoc->m_pt1Y;
if(pDoc->AirMB[loopmb][loop].lxflag==2||pDoc->AirMB[loopmb][loop].lxflag==3)
pDoc->AirMB[loopmb][loop+1].d=sqrt(pow(pDoc->AirMB[loopmb][loop+1].bx,2)+pow(pDoc->AirMB[loopmb][loop+1].by,2)+pow(pDoc->AirMB[loopmb][loop+1].z,2));
else
pDoc->AirMB[loopmb][loop+1].d=sqrt(pow(pDoc->AirMB[loopmb][loop+1].bx,2)+
pow(pDoc->AirMB[loopmb][loop+1].by,2));
pDoc->AirMB[loopmb][loop+1].bfwj=fabs(atan(pDoc->AirMB[loopmb][loop+1].bx/pDoc->AirMB[loopmb][loop+1].by)*180/pi);
}
}
loop++;
}
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx<m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by<m_cy)
fwj3=270-pDoc->AirMB[loopmb][loop].bfwj;
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx<=m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by>=m_cy)
{
fwj3=90+pDoc->AirMB[loopmb][loop].bfwj;
}
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx>=m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by<m_cy)
{
fwj3=270+pDoc->AirMB[loopmb][loop].bfwj;
}
if(m_cx+m_xspm*pDoc->AirMB[loopmb][loop].bx>=m_cx&&
m_cy+m_xspm*pDoc->AirMB[loopmb][loop].by>=m_cy)
{
fwj3=90-pDoc->AirMB[loopmb][loop].bfwj;
}
double x0,y0;
/*if(loop==0&°2-fwj3>-5&°2-fwj3<=0&&pDoc->AirMB[loopmb][loop+1].d<m_lch)
{
pDoc->AirMB[loopmb][loop].hj=true;
m_flag1=loop;
pDoc->AirMB[loopmb][loop].tflag=false;
}
else
{*/
if(deg2-fwj3>-5&°2-fwj3<=0&&pDoc->AirMB[loopmb][loop].d<m_lch)
{
if(pDoc->AirMB[loopmb][loop-1].tflag)
{
pDoc->AirMB[loopmb][loop].m_flag=loop;
pDoc->AirMB[loopmb][loop].hj=true;
//pDoc->AirMB[loopmb][loop].tflag=false;
}
// if(pDoc->AirMB[loopmb][loop].bfwj-pDoc->AirMB[loopmb][loop-1].fwj<5&°2-fwj3<10)
// pDoc->AirMB[loopmb][loop].hj=false;
}
//m_flag1+=5;
if(loop>=2&&(pDoc->AirMB[loopmb][loop].lxflag==2||pDoc->AirMB[loopmb][loop].lxflag==3))
{
x0=m_cx+pDoc->AirMB[loopmb][loop-1].d*cos(fwj2*pi/180)*m_xspm;
y0=m_cy+pDoc->AirMB[loopmb][loop-1].d*sin(fwj2*pi/180)*m_xspm;
}
if(loop!=1&&pDoc->AirMB[loopmb][loop].lxflag==1)
{
x0=m_cx+m_xspm*pDoc->AirMB[loopmb][loop-1].bx;
y0=m_cy+m_xspm*pDoc->AirMB[loopmb][loop-1].by;
}
switch(pDoc->AirMB[loopmb][loop-1].dwshxbz)
{
case 1:
memDC.SelectObject(&pRed);
memDC.SelectObject(&bRed);
break;
case 2:
memDC.SelectObject(&pBlue);
memDC.SelectObject(&bBlue);
break;
case 3:
memDC.SelectObject(&pGreen);
memDC.SelectObject(&bGreen);
break;
case 4:
memDC.SelectObject(&pZhl);
memDC.SelectObject(&bZhl);
break;
}
CRect mbRect(x0,y0,x0,y0);
mbRect.InflateRect(3,3);
memDC.Ellipse(mbRect);
}
}
memDC.SetROP2(R2_NOTXORPEN);
clpDC.BitBlt(0,0,SmRect.Width(),SmRect.Height(),&memDC,0,0,SRCCOPY);
memDC.DeleteDC;
ReleaseDC(&memDC);
deg1+=5;
deg2+=5;
CFormView::OnTimer(nIDEvent);
}
void CAirTargetView::OnOpenairld()
{
// TODO: Add your command handler code here
deg1=255;
deg2=285;
SetTimer(1,1,NULL);
}
void CAirTargetView::OnPouseairld()
{
// TODO: Add your command handler code here
CClientDC clpDC(this);
double mr=m_r-3;
double x1=m_cx-mr,
y1=m_cy-mr,
x2=m_cx+mr,
y2=m_cy+mr;
clpDC.SelectObject(&bWhite);
clpDC.SelectObject(&pWhite);
clpDC.Pie(x1,y1,x2,y2,m_cx+mr*cos(deg2*pi/180),
m_cy+mr*sin(deg2*pi/180),m_cx+mr*cos(deg1*pi/180),
m_cy+mr*sin(deg1*pi/180));
KillTimer(1);
/*clpDC.Pie(x1,y1,x2,y2,m_cx+mr*cos(deg2*pi/180),
m_cy+mr*sin(deg2*pi/180),m_cx+mr*cos(deg1*pi/180),
m_cy+mr*sin(deg1*pi/180));*/
}
void CAirTargetView::OnContinueairld()
{
// TODO: Add your command handler code here
SetTimer(1,1000/360,NULL);
}
void CAirTargetView::OnLch500()
{
// TODO: Add your command handler code here
//量程显示 待编
m_lch=500000;
m_xspm=m_r/500000;
}
void CAirTargetView::AirmbXsh()
{
CMulTargetDoc *pDoc=GetDocument();
CClientDC clpDC(this);
CPen pRed(PS_DASH,1,RGB(255,0,0));
CBrush bRed(RGB(255,0,0));
clpDC.SelectObject(&pRed);
clpDC.SelectObject(&bRed);
double fwj=pDoc->AirMB[pDoc->m_mb][pDoc->m_mbhj].fwj,
d=pDoc->AirMB[pDoc->m_mb][pDoc->m_mbhj].d;
double x0=m_xspm*sin(fwj*pi/180)*d+m_cx,
y0=m_xspm*cos(fwj*pi/180)*d+m_cy;
CRect mbRect(x0,y0,x0,y0);
mbRect.InflateRect(1,1,1,1);
clpDC.Ellipse(mbRect);
}
void CAirTargetView::OnLch200()
{
// TODO: Add your command handler code here
m_lch=200000;
m_xspm=m_r/200000;
}
void CAirTargetView::OnLch100()
{
// TODO: Add your command handler code here
m_lch=100000;
m_xspm=m_r/100000;
}
void CAirTargetView::OnLch50()
{
// TODO: Add your command handler code here
m_lch=50000;
m_xspm=m_r/50000;
}
void CAirTargetView::OnLch20()
{
// TODO: Add your command handler code here
m_lch=20000;
m_xspm=m_r/20000;
}
void CAirTargetView::OnLch10()
{
// TODO: Add your command handler code here
m_lch=10000;
m_xspm=m_r/10000;
}
void CAirTargetView::OnBtsend()
{
// TODO: Add your control notification handler code here
}
void CAirTargetView::OnLdxx()
{
// TODO: Add your command handler code here
CLdxxDlg *pDlg=NULL;
if(!pDlg)
{
pDlg=new CLdxxDlg(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}
void CAirTargetView::OnJtxx()
{
// TODO: Add your command handler code here
CWjcshDlg *pDlg=NULL;
if(!pDlg)
{
pDlg=new CWjcshDlg(this);
ASSERT(pDlg);
}
pDlg->DoModal();
}
void CAirTargetView::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 + -