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