From a3e37230419aef305dd6f383b73572a20e9baf82 Mon Sep 17 00:00:00 2001
From: cbwu <504-wuchengbo@htsdfp.com>
Date: Thu, 2 Nov 2023 14:20:34 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=88=AA=E7=82=B9=E7=BC=96?=
 =?UTF-8?q?=E8=BE=91=E7=9A=84bug=EF=BC=9B=E7=BC=96=E8=BE=91=E4=BF=9D?=
 =?UTF-8?q?=E5=AD=98=E4=BF=AE=E6=94=B9=E4=B8=BAtxt=E6=96=87=E4=BB=B6?=
 =?UTF-8?q?=EF=BC=9B=E5=A4=9A=E7=82=B9=E6=B5=8B=E8=B7=9D=E9=80=82=E9=85=8D?=
 =?UTF-8?q?=E5=B9=B3=E6=9D=BF=E6=A8=A1=E5=BC=8F=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 GISControlDlg.aps      | Bin 115084 -> 88804 bytes
 GISDlg.cpp             | 253 ++++++++---------------------------------
 GISDlg.h               |   1 +
 Globe.cpp              |   4 +-
 ModifyLinePointDlg.cpp |  14 ++-
 5 files changed, 57 insertions(+), 215 deletions(-)

diff --git a/GISControlDlg.aps b/GISControlDlg.aps
index 5bba7d2a642e3f1569e8b2115f9ab294a5213288..72999e4693e01be21de90c18dd22896b67d0eff8 100644
GIT binary patch
delta 2006
zcmb7^e@t6d6vxkfEkD*~TV;Tu(gK2mO=WHQu~~E*KVuiDrNB_e_Hg{zV3RRnP=1Ud
zkVurl@EY$jVUmUDj0AKQ1|18U><=>&t&4x4F^e(&LBR1NBAW)S_decbjQWo+c|G6r
z&gY(UdhUI%v(4|<5uXd;$lMbV>APS@kZQ)sjR{V1x;i4-L$6k_<@+6PY<fFi>wyiI
zU{k}>5QAS>2_-=)WW?9zA18-Z=&a!JT>nXhY(qk{*wdv&!e<}v(`zhgVtSe-7vfCM
z84|#P@Zv~_Z~)=%zA(Xtux2z&$VNExeZ62uc;$R3%5j#3W$YKKlz2$g1_^R?))l*y
z{;6Qb=i3fPtorg3D1;n11!YhJb?_>@4y90t``UFrCNO{zPqy#CMePCqb4`-dEvghk
zzYgC$O8*Z2^XL(QPAa=19$zXB;c~gyz-4*Kb}sLfydz8JN2NiCKlYRjbGdlzXHEo`
z$I8SR9^G`}SuX2O{KCP@CtH>Laq;OrT;4rB!=<|V7MB4v1zZl-?2sjD#cgNOxHF5@
zwR-OShF`0V<jy_({X=ICC)M#t_&kaNkH-W?gJCyV(o)0}OKw)OO|<7_rrX&`qVw@x
zkRUw!rj93E#O01C*}<w>75>o?%-xgJP4CcfbP4y=uc78T6&4zTcx)LTY6#`deSD*V
z?}P5aT3^P*^?kkkirf@-JJk42N1(h~_zU458hI{!p<abkns`egD{?lIluXRYwTlI*
z`EsU^zolqAok4sYtz{Rp(ye(W7X7j*(V2brK2ozoFJ@Y->ClV|&hgDe$@uGYrM&+v
zT+@=sor8F;WvA?D%LF!LBdf66Kr2{8OX^EjsRA9Z_Sm|xaV;Dtx2HNTg%iOTN0J{y
z;m)Mitw?bDk=St*yx9OsfBsgPN%lC3^ik87>~p+0ts|8#6pWT6d4)=0KO!y{G6_lr
znR6k%u;4?s+@N;Qm&7vrydSYLJLXR+nVnFRE@pc-lObl?w~}v|EeRlV%w}#QTPCQT
z+D2lT9SkB?Y86v@Ag3mfPEiyFq??J%2q43fhy?O26VF5enP*~<imf-PSfOIqO_VIW
z8$${-NV|R77oc|+(9sF>o>j1q2m8PBM+A0m0vJdn6?&x2n4#>#KF;3rVp*=03?85J
zinH}fE4iH@=hEbHcEO8fxk3whe9<e;azz!BnFHvFr)Z0Y3XcBng|bwRYO?o`T(+fw
zvwwK8EN$l-JihD|XSptRkRw&{==!@k``|y>tM8G@W|{r8kF!X*am+05*Z^tnl-Vyn
z;p~*O6YICcLC@k>*GShT%BIk0(FkLe^uB18@@gJ#AA4|XguK;9*+8npM>%U;?O`1o
zg8*_ziS{z<f!64~&R7M#R}a5t9s4BBHQ*u@SCH11t($g{A*!Wyh6%n-DghhU?U^M1
zd`Q`=8i1xr&ib&{A7NR)X>Ot#qc!MB0Ee6GW%?l1OK##~I$8v%`i?Y=BfVc0EjM96
d<b!dfi|W?_*b)%D2>HN<<ni35zmJ~ne*xe?M0x-K

delta 18167
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

diff --git a/GISDlg.cpp b/GISDlg.cpp
index 7a5bc72..5947182 100644
--- a/GISDlg.cpp
+++ b/GISDlg.cpp
@@ -844,7 +844,7 @@ void CGISDlg::OnAddFlyLineData()
 	}
 
 	//�����ļ��Ի���
-	CFileDialog dlg(true, ".txt","*.txt",OFN_HIDEREADONLY, "�����ļ�(*.txt)|*.txt", NULL);
+	CFileDialog dlg(true, ".txt","*.txt",OFN_HIDEREADONLY, "�����ļ�(*.txt)|*.txt|", NULL);
 
 	if (dlg.DoModal() == IDOK)
 	{
@@ -1854,11 +1854,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y)
 	//�Ҽ�����������
 	if (m_bPolylineMeasure && (Button == 2))
 	{
-		//ɾ���Ѿ�����ֱ��
-		m_map.ClearDrawing(m_tempLayerID);
-		m_bMeasureDrag = false;
-		m_bEndMeasure = true;
-		m_numPolylineMeasurePts = 0;
+		EndPolylineMessure();
 		return;
 	}
 	/*******************************************************************************************************/
@@ -1949,207 +1945,15 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y)
 			}
 
 			ShowModifyPointDlg(selectedPointID);
-
-			/*
-			CModifyLinePointDlg dlg;
-			if (m_lineSelectedID!=11) //�ǻ��պ��ߣ���������������
-			{
-				dlg.SetCirclingPointRBTNVisible(false);
-			}
-			dlg.SetLonLat(m_editLineDataGroup.pts[selectedPointID].dX,m_editLineDataGroup.pts[selectedPointID].dY);
-			if (circlingPointID == selectedPointID) //ѡ�������㣬���ð�ťѡ��
-			{
-				dlg.CheckedCirclingPoint();
-			}
-			if (dlg.DoModal() == IDOK)
-			{
-				double targetLat,targetLon;
-				dlg.GetLonLat(targetLon,targetLat);
-				//bool bb = dlg.IsCirclingPoint();
-				if (m_lineSelectedID==11) //���պ���
-				{
-					if (circlingPointID == selectedPointID) //���Ѿ��������������������
-					{
-						if (!dlg.IsCirclingPoint())   //�洢������
-						{
-							circlingPointID = -1;
-						}
-					}
-					if (dlg.IsCirclingPoint())   //�洢������
-					{
-						circlingPointID = selectedPointID;
-					}
-				}
-
-
-				//�޸�������
-				m_editLineDataGroup.linePts[selectedPointID].dX = targetLon;
-				m_editLineDataGroup.linePts[selectedPointID].dY = targetLat;
-				//�޸ĵ�����
-				m_editLineDataGroup.pts[selectedPointID].dX = targetLon;
-				m_editLineDataGroup.pts[selectedPointID].dY = targetLat;
-
-				//��������
-				ClearDrawedLine(m_editLineDataGroup.lineID-1);
-				//��溽��
-				DrawFlyLine(m_editLineDataGroup);
-			}
-			else
-			{
-				//return;
-			}
 			return;
-			*/
 		}
 
 		ShowEditSaveDlg();
-
-		/*
-		CSaveLineEditSetting saveDlg;
-		saveDlg.DoModal();
-		int saveStatus = saveDlg.GetSaveStatus();  //-1Ϊ�����棬0Ϊ�����༭��1Ϊ����
-		if (saveStatus==-1)
-		{
-			//��������
-			ClearDrawedLine(m_editLineDataGroup.lineID-1);
-			//�ָ�δ�༭״̬
-			DrawFlyLine(m_ShowedLineDataList[m_lineSelectedID]);
-			//���������
-			m_map.ClearDrawing(m_distLabelLayer);
-
-			m_bEditLine = false;
-			m_bSelectFeatureFlag = false;
-			m_lineSelectedID = -1;
-			return;
-		}
-		else if (saveStatus==0)
-		{
-			return;
-		}
-
-		//
-		CString dirName = "";
-		switch (m_lineSelectedID)
-		{
-		case 1:
-			dirName = "����1\\";
-			break;
-		case 2:
-			dirName = "����2\\";
-			break;
-		case 3:
-			dirName = "����3\\";
-			break;
-		case 4:
-			dirName = "���滬�к���\\";
-			break;
-		case 5:
-			dirName = "������\\";
-			break;
-		case 6:
-			dirName = "��Ͷ����\\";
-			break;
-		case 10:
-			dirName = "�ܵ�����\\";
-			break;
-		case 11:
-			dirName = "���պ���\\";
-			break;
-		case 13:
-			dirName = "ͨ������\\";
-			break;
-		}
-
-		//���±�����պ���
-		CString filename;
-		CString strRouteFileDir = GetSoftwareCurrentDirectory() + _T("\\Route\\") + dirName;
-
-		TCHAR s[10000];
-		s[0]=0;
-		CFileDialog dlg(FALSE, _T(".route"), _T("*.route"));
-		dlg.m_ofn.lpstrTitle=_T("���溽���ļ�");
-		dlg.m_ofn.lpstrFile=s;
-		dlg.m_ofn.nMaxFile=sizeof(s)/sizeof(TCHAR);
-
-		TCHAR filter[500]=_T("�����ļ�(*.route)\0*.route\0");
-		dlg.m_ofn.lpstrFilter=filter;
-		dlg.m_ofn.Flags|=OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_CREATEPROMPT;
-		dlg.m_ofn.lpstrInitialDir = strRouteFileDir;
-
-		if (IDOK == dlg.DoModal())
-		{
-			filename = dlg.GetPathName();		
-			//�����ļ�
-			FILE* fp = fopen(filename,"w");
-			fprintf(fp,"%d, 0, %lf, %lf, %.2lf, 0, 00, 03\n", m_editLineDataGroup.lineID, 0.0, 0.0, 0.0);
-			int n_linePts = m_editLineDataGroup.pointNum;
-			for (int i=1;i<=n_linePts;i++)
-			{
-				PtStruct linePt = m_editLineDataGroup.pts[i-1];
-				if (i<n_linePts-1)
-				{
-					if (circlingPointID==i-1) //������
-					{
-						fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 01, 03\n", m_editLineDataGroup.lineID, i, linePt.dX, linePt.dY,linePt.nH);
-					}
-					else
-					{
-						fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 00, 03\n", m_editLineDataGroup.lineID, i, linePt.dX, linePt.dY,linePt.nH);
-					}	
-				}
-				else if (i==n_linePts-1)
-				{
-					if (m_lineSelectedID==11)  //���պ���
-					{
-						fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 00, 07\n", m_editLineDataGroup.lineID,i,linePt.dX,linePt.dY,linePt.nH);
-					}
-					else
-					{
-						fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 00, 03\n", m_editLineDataGroup.lineID,i,linePt.dX,linePt.dY,linePt.nH);
-					}
-
-				}
-				else if (i==n_linePts)
-				{
-					if (m_lineSelectedID==11)  //���պ���
-					{
-						fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 00, 0B\n", m_editLineDataGroup.lineID,i,linePt.dX,linePt.dY,linePt.nH);
-					}
-					else
-					{
-						if (linePt.ch1==2)  //���Ϻ���
-						{
-							fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 02, 01\n", m_editLineDataGroup.lineID,i,linePt.dX,linePt.dY,linePt.nH);
-						}
-						else
-						{
-							fprintf(fp,"%d, %d, %lf, %lf, %.2lf, 0, 00, 01\n", m_editLineDataGroup.lineID,i,linePt.dX,linePt.dY,linePt.nH);
-						}
-					}
-				}
-			}
-			fclose(fp);
-
-			OnShowGivenLine(filename);
-			//��������
-			//ClearDrawedLine(m_editLineDataGroup.lineID-1);
-			//��溽��
-			//DrawFlyLine(m_editLineDataGroup);
-			m_map.ClearDrawing(m_distLabelLayer);
-			m_bEditLine = false;
-			m_bSelectFeatureFlag = false;
-			m_lineSelectedID = -1;
-			return;
-		}else
-		{
-			return;
-		}
-		*/
+		return;
 	}
 
 	/***************************************************************************************************************/
 
-
 	//���ں������ģʽʱ��������괦��ѡ��ģʽʱ
 	if (m_bLineDesign  && (Button == 1))
 	{
@@ -2648,6 +2452,14 @@ void CGISDlg::MouseDblClickMap1()
 	}
 
 	/*********************************************************************************************/
+	if (g_b981APad)  //ƽ��ģʽ˫��������
+	{
+		if (m_bPolylineMeasure)
+		{
+			EndPolylineMessure();
+		}
+	}
+
 }
 
 void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y)
@@ -4126,10 +3938,12 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns
 	if (shpType == 0)   //��ͼ��
 	{
 		pShapeDrawingOption->FillColor = drawColor;
-		pShapeDrawingOption->PointSize = 16;
-		pShapeDrawingOption->SetDefaultPointSymbol(mapWindow::tkDefaultPointSymbol::dpsDiamond);
-		//pShapeDrawingOption->PointType = mapWindow::tkPointSymbolType::ptSymbolStandard;
-		//pShapeDrawingOption->PointSidesCount = 4;
+		pShapeDrawingOption->PointSize = 20;
+		//pShapeDrawingOption->SetDefaultPointSymbol(mapWindow::tkDefaultPointSymbol::dpsDiamond);
+		//pShapeDrawingOption->PutFillColor(drawColor);
+		//pShapeDrawingOption->PutPointSize(18);
+		pShapeDrawingOption->PutPointType(mapWindow::tkPointSymbolType::ptSymbolStandard);
+		pShapeDrawingOption->PutPointShape(mapWindow::tkPointShapeType::ptShapeStar);
 		
 		//m_map.SetShapeLayerPointType(shpLayerID, mapWindow::ptDiamond);
 		//m_map.SetShapeLayerStippleColor(shpLayerID, drawColor);
@@ -7295,6 +7109,10 @@ int CGISDlg::IsSelectLine(double* pt)
 //�༭����ʱ,��ʾ�������öԻ���
 void CGISDlg::ShowModifyPointDlg(int selectedPointID)
 {
+	if (!m_bEditLine)
+	{
+		return;
+	}
 	CModifyLinePointDlg dlg;
 	dlg.m_editLineDataGroup = m_editLineDataGroup;
 	dlg.SetSelectedPointID(selectedPointID);
@@ -7346,7 +7164,10 @@ void CGISDlg::ShowModifyPointDlg(int selectedPointID)
 			m_editLineDataGroup.linePts[m_editLineDataGroup.linePointNum-1].dY = targetLat;
 		} //m_editLineDataGroup.linePts[0]->ch1==2 ���պ� 0->�պ�
 		
-
+		if (m_distLabelLayer!=-1)
+		{
+			m_map.ClearDrawing(m_distLabelLayer);//�������ͷ�λ�DZ��
+		}
 		//��������
 		ClearDrawedLine(m_editLineDataGroup.lineID-1);
 		//��溽��
@@ -7358,12 +7179,19 @@ void CGISDlg::ShowModifyPointDlg(int selectedPointID)
 	}
 	return;
 }
-void CGISDlg::ShowModifyPointDlg(){
+
+void CGISDlg::ShowModifyPointDlg()
+{
 	ShowModifyPointDlg(0);
 }
+
 //��ʾ����༭�Ի���
 void CGISDlg::ShowEditSaveDlg()
 {
+	if (!m_bEditLine)
+	{
+		return;
+	}
 	CSaveLineEditSetting saveDlg;
 	saveDlg.DoModal();
 	int saveStatus = saveDlg.GetSaveStatus();  //-1Ϊ�����棬0Ϊ�����༭��1Ϊ����
@@ -7425,12 +7253,12 @@ void CGISDlg::ShowEditSaveDlg()
 
 	TCHAR s[10000];
 	s[0]=0;
-	CFileDialog dlg(FALSE, _T(".route"), _T("*.route"));
+	CFileDialog dlg(FALSE, _T(".txt"), _T("*.txt"));
 	dlg.m_ofn.lpstrTitle=_T("���溽���ļ�");
 	dlg.m_ofn.lpstrFile=s;
 	dlg.m_ofn.nMaxFile=sizeof(s)/sizeof(TCHAR);
 
-	TCHAR filter[500]=_T("�����ļ�(*.route)\0*.route\0");
+	TCHAR filter[500]=_T("�����ļ�(*.txt)\0*.txt\0");
 	dlg.m_ofn.lpstrFilter=filter;
 	dlg.m_ofn.Flags|=OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_CREATEPROMPT;
 	dlg.m_ofn.lpstrInitialDir = strRouteFileDir;
@@ -7505,6 +7333,17 @@ void CGISDlg::ShowEditSaveDlg()
 	}
 }
 
+//��������
+void CGISDlg::EndPolylineMessure()
+{
+	//ɾ���Ѿ�����ֱ��
+	m_map.ClearDrawing(m_tempLayerID);
+	m_bMeasureDrag = false;
+	m_bEndMeasure = true;
+	m_numPolylineMeasurePts = 0;
+	return;
+}
+
 
 
 
diff --git a/GISDlg.h b/GISDlg.h
index bd87f27..2003256 100644
--- a/GISDlg.h
+++ b/GISDlg.h
@@ -245,6 +245,7 @@ private:  // by Wu
 	//
 	void ShowModifyPointDlg(int selectedPointID=0);  //�༭����ʱ,��ʾ�������öԻ���
 	void ShowEditSaveDlg();     //��ʾ����༭�Ի���
+	void EndPolylineMessure();  //��������
 
 protected:
 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
diff --git a/Globe.cpp b/Globe.cpp
index 52f3005..a31ea08 100644
--- a/Globe.cpp
+++ b/Globe.cpp
@@ -232,6 +232,6 @@ bool    g_bMarkerPlot[g_iMarkerPtNum] = {false};
 /*-------------------------------------------------------------------------------------------------------------
 ˵������ͬ�ɻ��ͺű��������ڿ����Ƿ����ø��Թ���
 -------------------------------------------------------------------------------------------------------------*/
-bool g_b981ADesktop = true;
-bool g_b981APad = false;
+bool g_b981ADesktop = false;
+bool g_b981APad = true;
 bool g_b98CADesktop = false;
\ No newline at end of file
diff --git a/ModifyLinePointDlg.cpp b/ModifyLinePointDlg.cpp
index 2f380fb..878982a 100644
--- a/ModifyLinePointDlg.cpp
+++ b/ModifyLinePointDlg.cpp
@@ -230,10 +230,10 @@ BOOL CModifyLinePointDlg::OnInitDialog()
 		cstr.Format(_T("%d"), i+1);
 		m_PointID.InsertString(i,cstr);
 	}
-	m_PointID.SetCurSel(m_selectedPointID);
-	cstr.Format(_T("%f"), m_editLineDataGroup.pts[m_selectedPointID].dX);
+	m_PointID.SetCurSel(m_selectedPointID-1);
+	cstr.Format(_T("%f"), m_editLineDataGroup.pts[m_selectedPointID-1].dX);
 	SetDlgItemText(IDC_EDIT_LON,cstr);
-	cstr.Format(_T("%f"), m_editLineDataGroup.pts[m_selectedPointID].dY);
+	cstr.Format(_T("%f"), m_editLineDataGroup.pts[m_selectedPointID-1].dY);
 	SetDlgItemText(IDC_EDIT_LAT,cstr);
 
 	return TRUE;
@@ -369,6 +369,7 @@ void CModifyLinePointDlg::OnEnKillfocusEditLat()
 
 void CModifyLinePointDlg::SetSelectedPointID(int PointID){
 	m_selectedPointID = PointID + 1;
+	//m_selectedPointID = PointID;
 }
 
 // ѡ�񺽵������б��仯ʱ����
@@ -379,18 +380,19 @@ void CModifyLinePointDlg::OnCbnSelchangeComboPointid()
 	TRACE(_T("��ǰѡ�к���ID: %d \n"),m_selectedPointID);
 	//�޸ľ�γ���ı����ֵ
 	CString cstr;
-	if(posTypeID==0){ //��
+	if(posTypeID==0)
+	{ //��
 		cstr.Format(_T("%f"), m_editLineDataGroup.pts[m_selectedPointID-1].dX);
 		SetDlgItemText(IDC_EDIT_LON,cstr);
 		cstr.Format(_T("%f"), m_editLineDataGroup.pts[m_selectedPointID-1].dY);
 		SetDlgItemText(IDC_EDIT_LAT,cstr);
 	}
-	else if(posTypeID==1){	// �ȷ���
+	else if(posTypeID==1)
+	{	// �ȷ���
 		string str_lon, str_lat;
 		getDMSString(m_editLineDataGroup.pts[m_selectedPointID-1].dX, m_editLineDataGroup.pts[m_selectedPointID-1].dY,str_lon, str_lat);
 		SetDlgItemText(IDC_EDIT_LON,str_lon.c_str());
 		SetDlgItemText(IDC_EDIT_LAT,str_lat.c_str());
-
 	}
 	
 }
-- 
2.37.1.windows.1