From 0ee5e7adcdb0b69eef14e41cd4bac4c544964dae Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Sat, 2 Dec 2023 16:20:12 +0800 Subject: [PATCH] =?UTF-8?q?type(fix):=E4=BF=AE=E6=94=B9=E8=88=AA=E7=BA=BF?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=97=B6=E4=B8=8D=E6=B8=85=E9=99=A4=E5=B7=B2?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=88=AA=E7=BA=BF=E3=80=82=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=88=AA=E7=BA=BF=E9=80=89=E6=8B=A9=E6=8C=89=E9=92=AE=E5=86=8D?= =?UTF-8?q?=E6=AC=A1=E7=82=B9=E5=87=BB=E6=97=B6=E5=8F=AF=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E3=80=82=E4=BF=AE=E5=A4=8D=E8=88=AA=E7=BA=BF=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=97=B6=E8=88=AA=E7=BA=BF=E9=80=89=E6=8B=A9=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GISDlg.cpp | 40 ++++++++++++++++++++++++++++++++-------- Globe.cpp | 4 ++-- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/GISDlg.cpp b/GISDlg.cpp index b18a768..d4c189c 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -919,17 +919,29 @@ void CGISDlg::OnMapSelect() //m_bLineDesign=FALSE; m_bPtDel=FALSE; m_bPtEdit=FALSE; - m_map.SetCursorMode(3); + m_map.SetCursorMode(mapWindow::tkCursorMode::cmSelection); m_bLDSetPoint = FALSE; - if (!m_bEditLine) //非航线编辑模式下可选 + if (!m_bEditLine || !m_bLineDesign) //非航线编辑模式下可选 { - m_bSelectFeatureFlag = true; // by Wu + if (!m_bSelectFeatureFlag) + { + m_bSelectFeatureFlag = true; // by Wu + } + else + { + m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); + ClearHighLightLine(); + m_bSelectFeatureFlag = false; + } + } else { - m_map.SetCursorMode(5); + m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); + //ClearHighLightLine(); + //m_bSelectFeatureFlag = false; } } @@ -942,7 +954,7 @@ void CGISDlg::OnMapFullScreen() m_bPtDel=FALSE; m_bPtEdit=FALSE; m_map.ZoomToMaxExtents(); - m_map.SetCursorMode(4); + m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); m_bLDSetPoint = FALSE; @@ -2064,6 +2076,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) m_designLinePointNum--; } } + DrawLineDesign(); } @@ -2120,12 +2133,11 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) //鼠标右键点击时,弹出快捷菜单 if (Button == 2 && !m_bLineDesign) { - //删除已经标绘的直线 + //删除已经标绘的直线 m_map.ClearDrawing(m_tempLayerID); m_map.Redraw(); //显示快捷菜单 - CMenu menu; POINT pt; @@ -2341,12 +2353,18 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) */ //像素坐标转经纬度坐标 m_map.PixelToProj(x, y, &m_guidePtInfo.guidePtLon, &m_guidePtInfo.guidePtLat); + + } if (Button == 2 && m_bLineDesign) //航线编辑时,停止编辑 { + //删除已经标绘的直线(追踪线和距离标注) + m_map.ClearDrawing(m_tempLayerID); + m_map.Redraw(); + CMenu tmenu; tmenu.LoadMenu(IDR_FLOATINGMENU); CRect rc=CRect(0,0,x,y); @@ -3215,6 +3233,10 @@ LRESULT CGISDlg::OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam) //功能:进行航线设计,弹出航线数据对话框 void CGISDlg::OnFlyLineDesign() { + m_tempLayerID = -1; + m_designLineLayerID = -1; + m_designLineLayerID2 = -1; + //return; //已经加载地图 if (m_bHaveAddMap) @@ -3362,7 +3384,7 @@ void CGISDlg::ClearDrawingInLineDesign() { m_map.RemoveLayer(m_designLineLayerID2); } - m_map.ClearLabels(m_designLineLayerID); + //m_map.ClearLabels(m_designLineLayerID); } @@ -5146,6 +5168,7 @@ void CGISDlg::OnAddpoint() // m_bDesignFirstPoint = false; //设计航线时,清除已显示的航线 + /* if(m_bLineDesign) { for(int i=0;i