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