diff --git a/ExportQBGISCtrlClass.cpp b/ExportQBGISCtrlClass.cpp index e585fe3..038e294 100644 --- a/ExportQBGISCtrlClass.cpp +++ b/ExportQBGISCtrlClass.cpp @@ -235,7 +235,17 @@ extern "C" void WINAPI SetUAVFlyCoordinate(int uavid,const double lon, const dou } } - +//功能:定位到目标点 +//输入:经度lon,纬度lat +extern "C" void WINAPI ZoomToLocation(double lon,double lat) +{ + AFX_MANAGE_STATE(AfxGetAppModuleState()); + if (g_bCreateMap) + { + //标绘目标点 + g_mapShowDlg.ZoomToLocation(lon,lat); + } +} //功能:增加目标点,在地图显示区标绘出来 //输入:目标点号ptID,经度lon,纬度lat diff --git a/ExportQBGISCtrlClass.h b/ExportQBGISCtrlClass.h index e88e811..11e4029 100644 --- a/ExportQBGISCtrlClass.h +++ b/ExportQBGISCtrlClass.h @@ -44,7 +44,9 @@ extern "C" _declspec(dllexport) void DeleteGISDlg(); // 航向角yaw(以°为单位) extern "C" _declspec(dllexport) void SetUAVFlyCoordinate(const double lon, const double lat, const double yaw); - +//功能:定位到目标点 +//输入:经度lon,纬度lat +extern "C" _declspec(dllexport) void ZoomToLocation(double lon,double lat); //功能:增加目标点,在地图显示区标绘出来 //输入:目标点号ptID,经度lon,纬度lat diff --git a/GISControlDlg.aps b/GISControlDlg.aps index 72999e4..29bbdc8 100644 Binary files a/GISControlDlg.aps and b/GISControlDlg.aps differ diff --git a/GISControlDlg.def b/GISControlDlg.def index b0f7f3c..f700041 100644 --- a/GISControlDlg.def +++ b/GISControlDlg.def @@ -34,4 +34,5 @@ EXPORTS ShowGISDlg @27 GetMouseWheel @28 UpdateDataInfo @29 - AddAirPt_ADS @30 \ No newline at end of file + AddAirPt_ADS @30 + ZoomToLocation @31 \ No newline at end of file diff --git a/GISControlDlg.rc b/GISControlDlg.rc index f278b21..ce1b2b1 100644 --- a/GISControlDlg.rc +++ b/GISControlDlg.rc @@ -535,6 +535,7 @@ BEGIN MENUITEM "显示三号航线", IDM_SHOW_LINE3 MENUITEM "显示四号航线", IDM_SHOW_LINE4 MENUITEM "显示五号航线", IDM_SHOW_LINE5 + MENUITEM "显示空投航线", IDM_SHOW_LINE14 MENUITEM SEPARATOR MENUITEM "装订一号航线", ID_LOAD_MYLINE1 MENUITEM "装订二号航线", IDM_BINDLINE2 @@ -544,11 +545,11 @@ BEGIN END POPUP "电子围栏及应急航线" BEGIN - MENUITEM "回收航线显示", ID_SHOW_PD10 + MENUITEM "回收航线显示", ID_SHOW_BACKLINE MENUITEM "应急航线显示", ID_SHOW_HS11 MENUITEM "电子围栏显示", ID_SHOW_TC12 MENUITEM SEPARATOR - MENUITEM "回收航线装订", ID_32855 + MENUITEM "回收航线装订", ID_BIND_BACKLINE MENUITEM "应急航线装订", ID_BIND_HS11 MENUITEM "电子围栏装订", ID_BIND_TC12 END diff --git a/GISControlDlg.vcxproj b/GISControlDlg.vcxproj index e8e276f..837ea0e 100644 --- a/GISControlDlg.vcxproj +++ b/GISControlDlg.vcxproj @@ -377,6 +377,7 @@ + diff --git a/GISControlDlg.vcxproj.filters b/GISControlDlg.vcxproj.filters index 6cd21e9..9adca69 100644 --- a/GISControlDlg.vcxproj.filters +++ b/GISControlDlg.vcxproj.filters @@ -418,5 +418,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/GISDlg.cpp b/GISDlg.cpp index 97d1102..3060714 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -502,8 +502,8 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog) // ON_WM_MOUSEHWHEEL() ON_COMMAND(ID_NLINEDESIGN, &CGISDlg::OnNlinedesign) ON_UPDATE_COMMAND_UI(ID_NLINEDESIGN, &CGISDlg::OnUpdateNlinedesign) - ON_COMMAND(ID_SHOW_PD10, &CGISDlg::OnShowPd10) - ON_UPDATE_COMMAND_UI(ID_SHOW_PD10, &CGISDlg::OnUpdateShowPd10) + ON_COMMAND(ID_SHOW_BACKLINE, &CGISDlg::OnShowBackLine) + ON_UPDATE_COMMAND_UI(ID_SHOW_BACKLINE, &CGISDlg::OnUpdateShowBackLine) ON_COMMAND(ID_SHOW_HS11, &CGISDlg::OnShowHs11) ON_UPDATE_COMMAND_UI(ID_SHOW_HS11, &CGISDlg::OnUpdateShowHs11) ON_COMMAND(ID_BIND_HS11, &CGISDlg::OnBindHs11) @@ -511,7 +511,7 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog) ON_COMMAND(ID_BIND_TC12, &CGISDlg::OnBindTc12) ON_UPDATE_COMMAND_UI(ID_SHOW_TC12, &CGISDlg::OnUpdateShowTc12) ON_WM_SIZE() - ON_COMMAND(ID_32855, &CGISDlg::On32855) + ON_COMMAND(ID_BIND_BACKLINE, &CGISDlg::OnBindBackLine) ON_WM_MOVE() ON_MESSAGE(WM_SEL_UAV, &CGISDlg::OnSelUav) ON_COMMAND(ID_ADD_TARGET, &CGISDlg::OnAddTarget) @@ -578,6 +578,9 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog) ON_UPDATE_COMMAND_UI(IDM_SHOW_LINE10, &CGISDlg::OnUpdateShowLine10) ON_COMMAND(IDM_BINDLINE9, &CGISDlg::OnBindline9) ON_COMMAND(IDM_BINDLINE10, &CGISDlg::OnBindline10)*/ + //空投航线 + ON_COMMAND(IDM_SHOW_LINE14, &CGISDlg::OnShowLine14) + ON_UPDATE_COMMAND_UI(IDM_SHOW_LINE14, &CGISDlg::OnUpdateShowLine14) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -1375,36 +1378,86 @@ void CGISDlg::OnShowRMenu() } */ - //航线14 回收航线 - if (m_pHaveDrawLineFlag[13]) + if (g_b981ADesktop || g_b981APad) { - menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_CHECKED ); - } - else - { - menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_UNCHECKED ); - } + //航线14 回收航线 + if (m_pHaveDrawLineFlag[13]) + { + menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_CHECKED ); + } + else + { + menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_UNCHECKED ); + } - //航线11 应急航线 - if (m_pHaveDrawLineFlag[10]) - { - menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED ); - } - else - { - menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_UNCHECKED ); - } + //航线11 应急航线 + if (m_pHaveDrawLineFlag[10]) + { + menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED ); + } + else + { + menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_UNCHECKED ); + } - //航线12 电子围栏 - if (m_pHaveDrawLineFlag[11]) - { - menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_CHECKED ); + //航线12 电子围栏 + if (m_pHaveDrawLineFlag[11]) + { + menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_CHECKED ); + } + else + { + menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED ); + } } - else + + + if (g_b98CADesktop) { - menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED ); + //航线14 回收航线 + if (m_pHaveDrawLineFlag[10]) + { + menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_CHECKED ); + } + else + { + menu.CheckMenuItem( ID_SHOW_BACKLINE, MF_BYCOMMAND | MF_UNCHECKED ); + } + //航线6 围栏 + if (m_pHaveDrawLineFlag[5]) + { + //menu.CheckMenuItem( ID_SHOW_WEILAN, MF_BYCOMMAND | MF_CHECKED ); + menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED ); + } + else + { + //menu.CheckMenuItem( ID_SHOW_WEILAN, MF_BYCOMMAND | MF_UNCHECKED ); + menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_UNCHECKED ); + } + + //航线7 应急 + if (m_pHaveDrawLineFlag[6]) + { + //menu.CheckMenuItem( ID_SHOW_LINE_YINGJI, MF_BYCOMMAND | MF_CHECKED ); + menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED ); + } + else + { + //menu.CheckMenuItem( ID_SHOW_LINE_YINGJI, MF_BYCOMMAND | MF_UNCHECKED ); + menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED ); + } + //航线14,空投航线 + if (m_pHaveDrawLineFlag[13]) + { + menu.CheckMenuItem( IDM_SHOW_LINE14, MF_BYCOMMAND | MF_CHECKED ); + } + else + { + menu.CheckMenuItem( IDM_SHOW_LINE14, MF_BYCOMMAND | MF_UNCHECKED ); + } } + if (m_bAutoMove) { menu.CheckMenuItem( IDM_AUTO_MOVE, MF_BYCOMMAND | MF_CHECKED ); @@ -4576,6 +4629,12 @@ void CGISDlg::OnShowLine10() SetFlyLineShowStatus(10); } +//功能:显示空投 +void CGISDlg::OnShowLine14() +{ + SetFlyLineShowStatus(14); +} + //功能:清除已经标绘的航线 //输入:航线编号lineID,从0开始计数 void CGISDlg::ClearDrawedLine(const int lineID) @@ -4683,6 +4742,11 @@ void CGISDlg::OnUpdateShowLine10(CCmdUI *pCmdUI) pCmdUI->SetCheck(m_pHaveDrawLineFlag[9]); } +void CGISDlg::OnUpdateShowLine14(CCmdUI *pCmdUI) +{ + pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]); +} + //功能:显示航线 //输入:航线文件名称strLineFileName void CGISDlg::OnShowGivenLine(const CString strLineFileName) @@ -5614,59 +5678,118 @@ BOOL CGISDlg::ReadLine(int iLine,PTLIST *pList) } //显示回收航线(14) -void CGISDlg::OnShowPd10() +void CGISDlg::OnShowBackLine() { // TODO: 在此添加命令处理程序代码 - SetFlyLineShowStatus(14); + if (g_b981ADesktop || g_b981APad) + { + SetFlyLineShowStatus(14); + } + if (g_b98CADesktop) + { + SetFlyLineShowStatus(11); + } } -void CGISDlg::OnUpdateShowPd10(CCmdUI *pCmdUI) +void CGISDlg::OnUpdateShowBackLine(CCmdUI *pCmdUI) { // TODO: 在此添加命令更新用户界面处理程序代码 - pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]); + if (g_b981ADesktop || g_b981APad) + { + pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]); + } + if (g_b98CADesktop) + { + pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]); + } } void CGISDlg::OnShowHs11() { // TODO: 在此添加命令处理程序代码 - SetFlyLineShowStatus(11); + if (g_b981ADesktop || g_b981APad) + { + SetFlyLineShowStatus(11); + } + if (g_b98CADesktop) + { + SetFlyLineShowStatus(7); + } } //应急航线 11 void CGISDlg::OnUpdateShowHs11(CCmdUI *pCmdUI) { // TODO: 在此添加命令更新用户界面处理程序代码 - pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]); + if (g_b981ADesktop || g_b981APad) + { + pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]); + } + + if (g_b98CADesktop) + { + pCmdUI->SetCheck(m_pHaveDrawLineFlag[6]); + } + } void CGISDlg::OnBindHs11() { m_struMapOut.cmd=MapCmd_BindLine; - m_struMapOut.ID=11; + if (g_b981ADesktop || g_b981APad) + { + m_struMapOut.ID=11; + } + if (g_b98CADesktop) + { + m_struMapOut.ID=7; + } ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } //电子围栏 12 void CGISDlg::OnShowTc12() { - SetFlyLineShowStatus(12); + if (g_b981ADesktop || g_b981APad) + { + SetFlyLineShowStatus(12); + } + if (g_b98CADesktop) + { + SetFlyLineShowStatus(6); + } + } void CGISDlg::OnBindTc12() { m_struMapOut.cmd=MapCmd_BindLine; - m_struMapOut.ID=12; + if (g_b981ADesktop || g_b981APad) + { + m_struMapOut.ID=12; + } + if (g_b98CADesktop) + { + m_struMapOut.ID=6; + } ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } void CGISDlg::OnUpdateShowTc12(CCmdUI *pCmdUI) { + if (g_b981ADesktop || g_b981APad) + { pCmdUI->SetCheck(m_pHaveDrawLineFlag[11]); + } + if (g_b98CADesktop) + { + pCmdUI->SetCheck(m_pHaveDrawLineFlag[5]); + } } void CGISDlg::OnSize(UINT nType, int cx, int cy) @@ -5685,10 +5808,17 @@ void CGISDlg::OnSize(UINT nType, int cx, int cy) } -void CGISDlg::On32855() +void CGISDlg::OnBindBackLine() { m_struMapOut.cmd=MapCmd_BindLine; - m_struMapOut.ID=14; + if (g_b981ADesktop || g_b981APad) + { + m_struMapOut.ID=14; + } + if (g_b98CADesktop) + { + m_struMapOut.ID=11; + } ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } diff --git a/GISDlg.h b/GISDlg.h index 2003256..d7deb35 100644 --- a/GISDlg.h +++ b/GISDlg.h @@ -781,8 +781,8 @@ public: // afx_msg void OnMouseHWheel(UINT nFlags, short zDelta, CPoint pt); afx_msg void OnNlinedesign(); afx_msg void OnUpdateNlinedesign(CCmdUI *pCmdUI); - afx_msg void OnShowPd10(); - afx_msg void OnUpdateShowPd10(CCmdUI *pCmdUI); + afx_msg void OnShowBackLine(); + afx_msg void OnUpdateShowBackLine(CCmdUI *pCmdUI); afx_msg void OnShowHs11(); afx_msg void OnUpdateShowHs11(CCmdUI *pCmdUI); afx_msg void OnBindHs11(); @@ -790,7 +790,7 @@ public: afx_msg void OnBindTc12(); afx_msg void OnUpdateShowTc12(CCmdUI *pCmdUI); afx_msg void OnSize(UINT nType, int cx, int cy); - afx_msg void On32855(); + afx_msg void OnBindBackLine(); afx_msg void OnMove(int x, int y); @@ -906,6 +906,9 @@ public: afx_msg void OnUpdateShowLine10(CCmdUI *pCmdUI); afx_msg void OnBindline9(); afx_msg void OnBindline10(); + + afx_msg void OnShowLine14(); + afx_msg void OnUpdateShowLine14(CCmdUI *pCmdUI); }; //{{AFX_INSERT_LOCATION}} diff --git a/Globe.cpp b/Globe.cpp index a31ea08..e2975b0 100644 --- a/Globe.cpp +++ b/Globe.cpp @@ -233,5 +233,5 @@ bool g_bMarkerPlot[g_iMarkerPtNum] = {false}; 说明:不同飞机型号变量,用于控制是否启用个性功能 -------------------------------------------------------------------------------------------------------------*/ bool g_b981ADesktop = false; -bool g_b981APad = true; -bool g_b98CADesktop = false; \ No newline at end of file +bool g_b981APad = false; +bool g_b98CADesktop = true; \ No newline at end of file diff --git a/resource.h b/resource.h index 9053467..f18896f 100644 --- a/resource.h +++ b/resource.h @@ -328,13 +328,17 @@ #define ID__32904 32904 #define ID_EDIT 32905 #define ID_EDIT_LINEPOINT 32906 +#define ID_32907 32907 +#define IDM_SHOW_LINE14 32908 +#define ID_SHOW_BACKLINE 32909 +#define ID_BIND_BACKLINE 32910 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 1078 -#define _APS_NEXT_COMMAND_VALUE 32907 +#define _APS_NEXT_COMMAND_VALUE 32911 #define _APS_NEXT_CONTROL_VALUE 1050 #define _APS_NEXT_SYMED_VALUE 1000 #endif