From 6cdc5482bcc412375d01f5d7d3d4a3693b3fba2f Mon Sep 17 00:00:00 2001 From: zhaipx Date: Mon, 6 Nov 2023 16:15:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=86=E6=94=AF=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GISDlg.cpp | 2340 ++++++++++++++++++++++++++-------------------------- 1 file changed, 1173 insertions(+), 1167 deletions(-) diff --git a/GISDlg.cpp b/GISDlg.cpp index 51b0894..97d1102 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -34,7 +34,7 @@ const double DEG2RAD = 0.017453292519943295769236907684886127134428718885417; DWORD LineClr[15] = {RGB(0,255,0),RGB(255,0,0), RGB(0,0,255),RGB(128,128,0), RGB(0,0,0),RGB(0,255,0),RGB(255,0,0), RGB(0,0,255),RGB(128,128,0), RGB(0,0,0),RGB(0,255,0),RGB(255,0,0), RGB(0,0,255),RGB(124,252,0/*127,255,170*/), RGB(0,0,0)}; -//�������ݶ�ʱ���ص����� +//³£·¢Êý¾Ý¶¨Ê±Æ÷»Øµ÷º¯Êý void FAR PASCAL CatchMTimerDraw(WORD IDEvent, WORD uReserved, DWORD dwUser,DWORD dwReserved1,DWORD dwReserve2) { ::PostMessage(g_mapHwnd, WM_SEND_DRAWUAV, FALSE, 0); @@ -49,33 +49,33 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) //}}AFX_DATA_INIT m_MsgHwnd = NULL; - m_MsgID = 0; //���������ϢID - m_LineLoadMsgID=0; //װ������ + m_MsgID = 0; //µ¼ÒýµãµÄÏûÏ¢ID + m_LineLoadMsgID=0; //×°¶©º½Ïß m_drawPlanFlyLine = -1; - //��γ�ȶԻ�����ʾ��ʶ + //¾­Î³¶È¶Ô»°¿òÏÔʾ±êʶ m_bHaveShowLonLatDlg = false; - //�º�����ƶԻ�����ʾ��ʶ + //к½ÏßÉè¼Æ¶Ô»°¿òÏÔʾ±êʶ m_bHaveShowLineDesign = false; - //2��֮���ˮƽ���������ʾ�ı�ʶ + //2µãÖ®¼äµÄˮƽ¾àÀë½çÃæÏÔʾµÄ±êʶ m_bHaveShowDistanceDlg = false; - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = false; for (int i = 0;i<3;i++) { - //�������ͼ��ID + //º½¼£±ê»æÍ¼²ãID m_flyTrackLayerID[i] = -1; - //UAV�������ͼ��ID + //UAVº½¼£±ê»æÍ¼²ãID m_UAVFlyTrackLayerID[i] = -1; - //�Ƿ��Ѿ���������˻��ķ��й켣 + //ÊÇ·ñÒѾ­±ê»æÁËÎÞÈË»úµÄ·ÉÐй켣 m_bFirstDrawUAVTrack[i] = false; m_drawTrackPtNum[i] = 0; @@ -83,10 +83,10 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) // for (int i = 0;i����***********************************/ + /****************ÐÂÔö<±à¼­º½Ïß>¹¦ÄÜ***********************************/ /*****by Wu 2023.09.11*******/ - //ѡ�и���ͼ�� + //Ñ¡ÖиßÁÁͼ²ã m_highLightLineLayerID = -1; - //���ε�ͼ�� + //µØÐεãͼ²ã m_tempTerrainPointsLayerID = -1; m_tempshpPointLayerID = -1; m_tempshpLineLayerID = -1; - //�洢������ID + //´æ´¢ÅÌÐýµãID circlingPointID = -1; m_lineSelectedID = -1; GLOBAL_X = 0; GLOBAL_Y = 0; - //�༭���պ���״̬ + //±à¼­»ØÊÕº½Ïß״̬ m_bEditLine = false; - //���պ�����ʾ״̬ + //»ØÊÕº½ÏßÏÔʾ״̬ //m_bShowBackLine = false; - //��ק�ƶ���־ + //ÍÏ×§ÒÆ¶¯±êÖ¾ m_dragFlag = false; - // ѡ��ģʽ + // Ñ¡Ôñģʽ m_bSelectFeatureFlag = false; // - m_KTPtShpLayerID = -1; //��Ͷ��ͼ�� + m_KTPtShpLayerID = -1; //¿ÕͶµãͼ²ã //m_pDesignKTLineDlg = NULL; /****************/ /*****By Wu 2023.10.16********/ - m_distLabelLayer = -1; //�༭ʱ��ʾ��λ�Ǻ;��� + m_distLabelLayer = -1; //±à¼­Ê±ÏÔʾ·½Î»½ÇºÍ¾àÀë - //�������ر�����ʼ�� - m_bPolylineMeasure = false; //������־ - m_numPolylineMeasurePts = 0; //������ - m_bMeasureDrag = false; //�Ƿ�������� - //���������������߶�ͼ�� + //¶àµã²â¾àÏà¹Ø±äÁ¿³õʼ»¯ + m_bPolylineMeasure = false; //¶àµã²â¾à±êÖ¾ + m_numPolylineMeasurePts = 0; //²â¾àµãÊý + m_bMeasureDrag = false; //ÊÇ·ñ¿ÉÒÔÀ­³¶ + //²ÎÓë¾àÀë²âÁ¿µÄÁ¬Ïß¶Îͼ²ã m_polylineMeasureLineLayerID = -1; - //��ע������������ע��ͼ�� + //±ê×¢¾àÀë²âÁ¿½á¹û±ê×¢µÄͼ²ã m_polylineMeasureLabelLayerID = -1; - //�����������ĵ���ŵı�עͼ�� + //²ÎÓë¾àÀë²âÁ¿µÄµãÐòºÅµÄ±êעͼ²ã m_polylineMeasurePtLayerID[0] = -1; m_polylineMeasurePtLayerID[1] = -1; /************************************************************/ - //��ʶ�Ƿ�����ʱͼ���Ͻ��б�ע + //±êʶÊÇ·ñÔÚÁÙʱͼ²ãÉϽøÐбê×¢ m_beTemLayerDrawing = true; - //��ǰ��Ƶĺ������� + //µ±Ç°Éè¼ÆµÄº½µãÊý¾Ý memset(&m_curDesignPoint, 0, sizeof(PtStruct)); - //�Ƿ��Ѿ������µĺ��� + //ÊÇ·ñÒѾ­Ôö¼ÓÐµĺ½µã m_bAddNewPoint = false; int i = 0; int j = 0; - //////////////////�뺽����ʾ��ص�������///////////////////// - m_totalFlyLines = 14; //�ܵķ��к�����ԭ5��Ϊ14 20221121 + //////////////////Ó뺽ÏßÏÔʾÏà¹ØµÄÊý¾ÝÌå///////////////////// + m_totalFlyLines = 14; //×ܵķÉÐк½ÏßÊýÔ­5¸ÄΪ14 20221121 - DrawLineDataStruct m_pFlyLines[14]; //����������� Ô­5 ��Ϊ12 + DrawLineDataStruct m_pFlyLines[14]; //·ÉÐк½ÏßÊý¾ÝÌå Ô­5 ¸ÄΪ12 memset(m_pFlyLines, 0, sizeof(DrawLineDataStruct)*m_totalFlyLines); - m_flyLineNum = 0; //������� + m_flyLineNum = 0; //·ÉÐк½ÏßÊý - //���к��߱�ע�� + //·ÉÐк½Ïß±ê×¢²ã m_flyLinesLayerID = -1; - //�Ƿ��Ѿ����������˻�����Shp��ͼ�� + //ÊÇ·ñÒѾ­´´½¨ÁËÎÞÈË»ú±ê»æµÄShpÃæÍ¼²ã m_bHaveCreateUAVShpLayer = false; - //���˻�����Shp��ͼ��ID + //ÎÞÈË»ú±ê»æµÄShpÃæÍ¼²ãID m_uavShapileLayerID = -1; - //���߱��ͼ���Shpͼ��ID���飬ÿ�����߾���2�����ͼ�㣺1��ͼ��Ϊ���㡢��һ��ͼ��Ϊ����//5��Ϊ8 20221121 + //º½Ïß±ê»æÍ¼²ãµÄShpͼ²ãIDÊý×飬ÿÌõº½Ïß¾ßÓÐ2¸ö±ê»æÍ¼²ã£º1¸öͼ²ãΪº½µã¡¢ÁíÒ»¸öͼ²ãΪº½Ïß//5¸ÄΪ8 20221121 long m_ppPlanLineShpLayerIDArr[14][2]; for (i=0; i<14; i++) { @@ -277,7 +277,7 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) } } - //�����Ƿ��Ѿ����ı�־ + //º½ÏßÊÇ·ñÒѾ­±ê»æµÄ±êÖ¾ for (i=0; i<14; i++) { m_pHaveDrawLineFlag[i] = false; @@ -286,7 +286,7 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) m_pLineSectDlg = NULL; m_pTargetDlg = NULL; - //��һ�������Ƿ��Ѿ���� + //µÚÒ»¸öº½µãÊÇ·ñÒѾ­±ê»æ m_bDesignFirstPoint = true; m_pFlyLineDesign = NULL; @@ -295,38 +295,38 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) m_bShowToolBar = false; - //����վλ�� - g_gcsLon = 0; //���� - g_gcsLat = 0; //� - g_gcsAlt = 0; //�߶� + //µØÃæÕ¾Î»Öà + g_gcsLon = 0; //¾­¶È + g_gcsLat = 0; //γ¶È + g_gcsAlt = 0; //¸ß¶È memset(&m_guidePtInfo, 0, sizeof(GuidePointData)); - //����վλ�õ�ʸ��ͼ�� + //µØÃæÕ¾Î»ÖõãʸÁ¿Í¼²ã m_gcsPtShpLayerID = -1; - //������λ�õ�ʸ��ͼ�� + //µ¼ÒýµãλÖõãʸÁ¿Í¼²ã m_guidePtShpLayerID = -1; - //��ǰ���༭�ĺ������� + //µ±Ç°´ý±à¼­µÄº½µãÊý¾Ý memset(&m_curEditLinePoint, 0, sizeof(PtStruct)); - //Ŀ���ʸ��ͼ��ID�� + //Ä¿±êµãʸÁ¿Í¼²ãIDºÅ //memset(m_pTargetShapfileID, 0, sizeof(long)*MAX_TARGET_NUM); - //�������߶� + //¹¤¾ßÀ¸¸ß¶È m_toolbarHeight = 0; - //�Ƿ�����Զ����εı�ʶ + //ÊÇ·ñ½øÐÐ×Ô¶¯ÂþÓεıêʶ m_bAutoMove = true; memset(m_pCallBackShapfileID, 0, sizeof(long)*255); - //������ģʽ + //µ¼Òýµãģʽ m_guidePointMode = 0; - m_bGuideMode =false ;//��������ģʽĬ��Ϊfalse + m_bGuideMode =false ;//µ¼Òý·ÉÐÐģʽĬÈÏΪfalse /////// - m_bSetPointModel=false; //û�д����õ㹤��ģʽ + m_bSetPointModel=false; //ûÓд¦ÔÚÖõ㹤×÷ģʽ m_bEndSetPoint=false; m_iPtSel=-1; @@ -441,27 +441,27 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog) ON_MESSAGE(WM_CLOSE_LONLAT_DIALOG, OnCloseLonLatDialog) ON_MESSAGE(WM_CLOSE_DISTANCE_DIALOG, OnCloseShowDistanceDialog) ON_MESSAGE(WM_CLOSE_LINEDESIGN_DIALOG, OnCloseLineDesignDialog) - ON_MESSAGE(WM_ADD_LINE_POINT, OnAddLinePoint) //���Ӻ��� - ON_MESSAGE(WM_EDIT_LINE_POINT, OnEditLinePoint) //�༭���� - ON_MESSAGE(WM_DELETE_LINE_POINT, OnDeleteLinePoint) //ɾ������ - ON_MESSAGE(WM_SAVE_LINE_POINTS, OnSaveLinePoints) //���溽�� - ON_COMMAND(IDT_BUTTON1, OnAddMapData) //���ص�ͼ���� - ON_COMMAND(IDT_BUTTON2, OnAddRasterImage) //����դ��Ӱ������ - ON_COMMAND(IDT_BUTTON3, OnAddFlyLineData) //���غ������� - ON_COMMAND(IDT_BUTTON4, OnLayerManage) //ͼ����� - ON_COMMAND(IDT_BUTTON5, OnRemoveAllLayers) //�������ͼ�� - ON_COMMAND(IDM_DESIGN_MYFLYLINE, OnFlyLineDesign) //������� 2015.11.25 ���κ�����ƶԻ��� - ON_COMMAND(IDT_BUTTON6, OnMenuLinePtCtrlShow/*OnMapSelect*/) //��ͼѡ�� - ON_COMMAND(IDT_BUTTON7, OnMapZoomIn) //��ͼ�Ŵ� - ON_COMMAND(IDT_BUTTON8, OnMapZoomOut) //��ͼ��С - ON_COMMAND(IDT_BUTTON9, OnMapMove) //��ͼ���� - ON_COMMAND(IDT_BUTTON10, OnMapFullScreen) //��ͼȫ����ʾ - ON_COMMAND(IDT_BUTTON11, OnEraseTrack) //������� - ON_COMMAND(IDT_BUTTON12, OnShowLonLatInfo) //��ʾ��γ����Ϣ - ON_COMMAND(IDT_BUTTON13, OnSurvey) //����2��֮��ľ��� - ON_COMMAND(IDT_BUTTON14, OnShowCtrlMenu/*OnPrint*/) //�������� //��ӡ��� - ON_COMMAND(IDT_BUTTON15, OnZhangCW) //��ӡ��� - ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTipsNotify) //��ť������ʾ + ON_MESSAGE(WM_ADD_LINE_POINT, OnAddLinePoint) //Ôö¼Óº½µã + ON_MESSAGE(WM_EDIT_LINE_POINT, OnEditLinePoint) //±à¼­º½µã + ON_MESSAGE(WM_DELETE_LINE_POINT, OnDeleteLinePoint) //ɾ³ýº½µã + ON_MESSAGE(WM_SAVE_LINE_POINTS, OnSaveLinePoints) //±£´æº½Ïß + ON_COMMAND(IDT_BUTTON1, OnAddMapData) //¼ÓÔØµØÍ¼Êý¾Ý + ON_COMMAND(IDT_BUTTON2, OnAddRasterImage) //¼ÓÔØÕ¤¸ñÓ°ÏñÊý¾Ý + ON_COMMAND(IDT_BUTTON3, OnAddFlyLineData) //¼ÓÔØº½ÏßÊý¾Ý + ON_COMMAND(IDT_BUTTON4, OnLayerManage) //ͼ²ã¹ÜÀí + ON_COMMAND(IDT_BUTTON5, OnRemoveAllLayers) //Çå³ýËùÓÐͼ²ã + ON_COMMAND(IDM_DESIGN_MYFLYLINE, OnFlyLineDesign) //º½ÏßÉè¼Æ 2015.11.25 ÆÁ±Îº½ÏßÉè¼Æ¶Ô»°¿ò + ON_COMMAND(IDT_BUTTON6, OnMenuLinePtCtrlShow/*OnMapSelect*/) //µØÍ¼Ñ¡Ôñ + ON_COMMAND(IDT_BUTTON7, OnMapZoomIn) //µØÍ¼·Å´ó + ON_COMMAND(IDT_BUTTON8, OnMapZoomOut) //µØÍ¼ËõС + ON_COMMAND(IDT_BUTTON9, OnMapMove) //µØÍ¼ÂþÓÎ + ON_COMMAND(IDT_BUTTON10, OnMapFullScreen) //µØÍ¼È«¾°ÏÔʾ + ON_COMMAND(IDT_BUTTON11, OnEraseTrack) //Çå³ýº½¼£ + ON_COMMAND(IDT_BUTTON12, OnShowLonLatInfo) //ÏÔʾ¾­Î³¶ÈÐÅÏ¢ + ON_COMMAND(IDT_BUTTON13, OnSurvey) //²âÁ¿2µãÖ®¼äµÄ¾àÀë + ON_COMMAND(IDT_BUTTON14, OnShowCtrlMenu/*OnPrint*/) //º½ÏßÊôÐÔ //´òÓ¡Êä³ö + ON_COMMAND(IDT_BUTTON15, OnZhangCW) //´òÓ¡Êä³ö + ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTipsNotify) //°´Å¥ÎÄ×ÖÌáʾ ON_COMMAND(IDM_GUIDE_FLY1, OnGuideMode1) ON_COMMAND(IDM_DESIGN_MYFLYLINE, OnDesignLine) ON_UPDATE_COMMAND_UI(IDM_GUIDE_FLY1, OnUpdateGuideMode1) @@ -544,25 +544,25 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog) ON_COMMAND(ID_MENU_ENTRYPOINT, &CGISDlg::OnMenuEntryPoint) ON_COMMAND(ID_MENU_PLOTDEMAREA, &CGISDlg::OnMenuPlotdemArea) - ON_MESSAGE(WM_SEND_MAPCURSORMODE, &CGISDlg::OnSetMapCursorMode) //����Map CursorMode - ON_MESSAGE(WM_SEND_DRAWMARKER, &CGISDlg::OnDrawMarker) //��ʾ�����ر�ǵ� + ON_MESSAGE(WM_SEND_MAPCURSORMODE, &CGISDlg::OnSetMapCursorMode) //ÉèÖÃMap CursorMode + ON_MESSAGE(WM_SEND_DRAWMARKER, &CGISDlg::OnDrawMarker) //ÏÔʾ»òÒþ²Ø±ê¼Çµã ON_COMMAND(ID_MENU_CLEARGCS, &CGISDlg::OnMenuClearGCS) ON_COMMAND(ID_MENU_ADSB, &CGISDlg::OnMenuADSB) - ON_MESSAGE(WM_SEND_DRAWUAV, &CGISDlg::OnTimerDrawUAV) //�������˻� + ON_MESSAGE(WM_SEND_DRAWUAV, &CGISDlg::OnTimerDrawUAV) //»æÖÆÎÞÈË»ú - //���߱༭ // -----by Wu 2023.09.14 - ON_COMMAND(ID_SELECT_LINE, OnMapSelect) //ѡ���� - ON_COMMAND(ID_EDIT_NODE, OnEditLine) //�༭���� - ON_COMMAND(ID_EDIT_LINE, ShowModifyPointDlg) //�޸ĺ��� - ON_COMMAND(ID_EDIT_SAVE, ShowEditSaveDlg) //����༭ + //º½Ï߱༭ // -----by Wu 2023.09.14 + ON_COMMAND(ID_SELECT_LINE, OnMapSelect) //Ñ¡Ôñº½Ïß + ON_COMMAND(ID_EDIT_NODE, OnEditLine) //±à¼­º½Ïß + ON_COMMAND(ID_EDIT_LINE, ShowModifyPointDlg) //Ð޸ĺ½µã + ON_COMMAND(ID_EDIT_SAVE, ShowEditSaveDlg) //±£´æ±à¼­ /* - ON_COMMAND(ID_MODIFY_LINEPOINT, OnMapSelect); //�޸ĺ��㺽�� - ON_COMMAND(ID_EDIT_SAVE, OnMapSelect); //����༭*/ + ON_COMMAND(ID_MODIFY_LINEPOINT, OnMapSelect); //Ð޸ĺ½µãº½Ïß + ON_COMMAND(ID_EDIT_SAVE, OnMapSelect); //±£´æ±à¼­*/ /* - //��������6-8 + //ÐÂÔöº½Ïß6-8 ON_COMMAND(IDM_SHOW_LINE6, &CGISDlg::OnShowLine6) ON_UPDATE_COMMAND_UI(IDM_SHOW_LINE6, &CGISDlg::OnUpdateShowLine6) ON_COMMAND(IDM_SHOW_LINE7, &CGISDlg::OnShowLine7) @@ -590,30 +590,30 @@ BOOL CGISDlg::OnInitDialog() SetWindowPos(NULL,0 ,0 ,600, 700, SWP_NOZORDER|SWP_NOMOVE); - //���ܣ��������������� + //¹¦ÄÜ£º´´½¨¸¡¶¯¹¤¾ßÀ¸ CreateFloatToolBar(); - //���ھ�� + //´°¿Ú¾ä±ú g_mapHwnd = this->GetSafeHwnd(); - //����ͼ������Ի��� + //´´½¨Í¼²ã¹ÜÀí¶Ô»°¿ò m_Layer = new CMapLayerManage(); m_Layer->Create(IDD_DIALOG_LAYER_MANAGE); - //������ȫ��Ļ�е�GIS��ʾ���� + //ÔÚÕû¸öÈ«ÆÁÄ»ÖеÄGISÏÔÊ¾ÇøÓò m_gisAreaInScreen = m_rcGISArea; m_gisAreaInScreen.top += 32; - //������γ�ȶԻ��� + //´´½¨¾­Î³¶È¶Ô»°¿ò m_pLonLatDlg = new CLonLatDlg(); m_pLonLatDlg->MoveToGivenArea(m_gisAreaInScreen); m_pLonLatDlg->Create(IDD_XY_DIALOG); - //2��֮���ˮƽ������ʾ�Ի������ + //2µãÖ®¼äµÄˮƽ¾àÀëÏÔʾ¶Ô»°¿ò¶ÔÏó m_pHZDistanceDlg = new CShowHZDistanceDlg(); m_pHZDistanceDlg->MoveToGivenArea(m_gisAreaInScreen); m_pHZDistanceDlg->Create(IDD_DISTANCE_DIALOG); - //������ƶԻ��� + //º½ÏßÉè¼Æ¶Ô»°¿ò m_pFlyLineDesign = new CFlyLineDesign(); m_pFlyLineDesign->MoveToGivenArea(m_gisAreaInScreen); m_pFlyLineDesign->Create(IDD_DIALOG_FLYLINE_DESIGN); @@ -621,7 +621,7 @@ BOOL CGISDlg::OnInitDialog() // m_pLineDesign = new CLineDesign(); // m_pLineDesign->Create(IDD_DLG_LINEDESIGN); - //�������ʱ���������ݶԻ��� + //º½ÏßÉè¼ÆÊ±£¬º½¶ÎÊý¾Ý¶Ô»°¿ò m_pLineSectDlg = new CLineSectDisAZDlg(); m_pLineSectDlg->MoveToGivenArea(m_gisAreaInScreen); m_pLineSectDlg->Create(IDD_DIALOG_LINE_SECT); @@ -629,23 +629,23 @@ BOOL CGISDlg::OnInitDialog() m_pTargetDlg = new CTargetDlg(); m_pTargetDlg->Create(IDD_DIALOG_TARGET,this); - //������ǵ�Ի��� + //´´½¨±ê¼Çµã¶Ô»°¿ò m_dlgMarker.Create(IDD_DIALOG_MARKER,this); m_dlgMarker.MoveToGivenArea(m_gisAreaInScreen); - //��ͼ��ʾ�����ȡ��߶ȵ��� + //µØÍ¼ÏÔÊ¾Çø¿í¶È¡¢¸ß¶Èµ¹Êý m_onePerWidth = 1.0/m_rcGISArea.Width(); m_onePerHeight = 1.0/m_rcGISArea.Height(); - //��ͼ��ʾ�����ȡ��߶� + //µØÍ¼ÏÔÊ¾Çø¿í¶È¡¢¸ß¶È m_mapAreaHalfWidth = 0.5*m_rcGISArea.Width(); m_mapAreaHalfHeight = 0.5*m_rcGISArea.Height(); - //���� + //²âÊÔ m_rcgisSmallArea = m_rcGISArea; m_rcgisSmallArea.top = 24; - //�������߶� + //¹¤¾ßÀ¸¸ß¶È m_toolbarHeight = m_rcgisSmallArea.top; m_ToolBar.ShowWindow(SW_SHOW); @@ -658,36 +658,36 @@ BOOL CGISDlg::OnInitDialog() m_DlgDemAlt.Create(IDD_DIALOG_DEMALT,this); - //��ý�嶨ʱ�� + //¶àýÌ嶨ʱÆ÷ timeBeginPeriod(0); TimerID_Draw = timeSetEvent(500, 1, (LPTIMECALLBACK)CatchMTimerDraw, (DWORD)NULL, TIME_PERIODIC); if(!TimerID_Draw) { - BCGPMessageBox(_T("��ý�嶨ʱ����������!"),MB_OK|MB_ICONEXCLAMATION,0); + BCGPMessageBox(_T("¶àýÌ嶨ʱÆ÷Æô¶¯´íÎó!"),MB_OK|MB_ICONEXCLAMATION,0); } - //�������ߵ�ͼ���� + //¼ÓÔØÔÚÏßµØÍ¼·þÎñ AddTianDiTuService(); - //�������ߵ�ͼ���� + //¼¤»îÔÚÏßµØÍ¼·þÎñ LoadTianDiTuService(); - m_map.SetScalebarVisible(true); //��ʾ������ + m_map.SetScalebarVisible(true); //ÏÔʾ±ÈÀý³ß return TRUE; } -//���ܣ��������ͼ����Ӱ���ͼ���� +//¹¦ÄÜ£º¼ÓÔØÌìµØÍ¼ÔÚÏßÓ°ÏñµØÍ¼·þÎñ void CGISDlg::AddTianDiTuService() { string baseurl = "http://{switch:t0,t1,t2,t3,t4,t5,t6,t7}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={zoom}&TileRow={y}&TileCol={x}&style=default&format=tiles&tk="; //string baseurl_vec = "http://t0.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={zoom}&TileRow={y}&TileCol={x}&style=default&format=tiles&tk="; - string key = "53d93c1a8b3400b050817ac001bdb60e";//����Key���շ�������1w�Ρ� + string key = "53d93c1a8b3400b050817ac001bdb60e";//¸öÈËKey£¬ÈÕ·ÃÎÊÉÏÏÞ1w´Î¡£ //string key = "5ff7526440d3a7dab78037697c4679fa"; mapWindow::ITiles* pTiles = m_map.GetTiles(); mapWindow::ITileProvidersPtr providers = pTiles->GetProviders(); - //pTiles->ClearCache(mapWindow::tkCacheType::Disk);//�������Tiles���� + //pTiles->ClearCache(mapWindow::tkCacheType::Disk);//Çå³ý´ÅÅÌTiles»º´æ //int providerId = (int)mapWindow::tkTileProvider::ProviderCustom + 1; // (1024 + 1) should be unique across application runs in case disk caching is used int providerId = mapWindow::tkTileProvider::ProviderCustom; _bstr_t copyright = "TianDiTu,All Rights Reserved"; @@ -696,32 +696,32 @@ void CGISDlg::AddTianDiTuService() (baseurl+key).c_str(),//(_bstr_t)url.c_str(), mapWindow::tkTileProjection::SphericalMercator, 0, 18);//,"TianDiTu,All Rights Reserved" - m_map.put_ZoomBarMaxZoom(18);//�������������18�� - //pTiles->ProviderId = providerId; //���ǰ���� - //Tile�������� - //pTiles->put_UseCache(mapWindow::tkCacheType::Disk,true);//Ĭ������´��ڴ�״̬ - //pTiles->put_UseCache(mapWindow::tkCacheType::RAM, true);//Ĭ������´��ڴ�״̬ - //�������ص���Ƭ���ӵ������� - //pTiles->put_DoCaching(mapWindow::tkCacheType::RAM, true);//Ĭ������´��ڴ�״̬ - pTiles->put_DoCaching(mapWindow::tkCacheType::Disk,true);//���Ĭ�Ϲر� - //��������ھ��д����Ƶ��ļ�������Զ��������ļ���һ��ֻ��ʹ��һ�����ݿ⡣ - //pTiles->put_UseCache(mapWindow::tkCacheType::Disk, true); //Ĭ������´��ڴ�״̬ + m_map.put_ZoomBarMaxZoom(18);//ÉèÖÃËõ·ÅÌõ×î´ó18¼¶ + //pTiles->ProviderId = providerId; //¼¤»îµ±Ç°·þÎñ + //Tile»º´æÉèÖà + //pTiles->put_UseCache(mapWindow::tkCacheType::Disk,true);//ĬÈÏÇé¿öÏ´¦ÓÚ´ò¿ª×´Ì¬ + //pTiles->put_UseCache(mapWindow::tkCacheType::RAM, true);//ĬÈÏÇé¿öÏ´¦ÓÚ´ò¿ª×´Ì¬ + //½«ÐÂÏÂÔØµÄÇÐÆ¬Ìí¼Óµ½»º´æÖÐ + //pTiles->put_DoCaching(mapWindow::tkCacheType::RAM, true);//ĬÈÏÇé¿öÏ´¦ÓÚ´ò¿ª×´Ì¬ + pTiles->put_DoCaching(mapWindow::tkCacheType::Disk,true);//Èç¹ûĬÈÏ¹Ø±Õ + //Èç¹û²»´æÔÚ¾ßÓдËÃû³ÆµÄÎļþ£¬Ôò»á×Ô¶¯´´½¨¸ÃÎļþ¡£Ò»´ÎÖ»ÄÜʹÓÃÒ»¸öÊý¾Ý¿â¡£ + //pTiles->put_UseCache(mapWindow::tkCacheType::Disk, true); //ĬÈÏÇé¿öÏ´¦ÓÚ´ò¿ª×´Ì¬ pTiles->put_DiskCacheFilename(_bstr_t("./mwtiles.db3")); - //���������͵Ļ��棬�������û������������С�������û���ʱ����ɾ����ɵ���Ƭ���Ա�Ϊ���µ���Ƭ�ڳ��ռ� - //pTiles->put_MaxCacheSize(mapWindow::tkCacheType::RAM, 200.0); //���� MB Ϊ��λ;Ĭ��Ϊ 100 - pTiles->put_MaxCacheSize(mapWindow::tkCacheType::Disk, 300.0);//���� MB Ϊ��λ;Ĭ��Ϊ 100 + //ÕâÁ½ÖÖÀàÐ͵Ļº´æ£¬¶¼ÓÐÄÚÖûúÖÆÀ´ÏÞÖÆÆä´óС£¬³¬¹ý¸Ã»úÖÆÊ±£¬½«É¾³ý×î¾ÉµÄÇÐÆ¬£¬ÒÔ±ãΪ½ÏеÄÇÐÆ¬ÌÚ³ö¿Õ¼ä + //pTiles->put_MaxCacheSize(mapWindow::tkCacheType::RAM, 200.0); //´óСÒÔ MB Ϊµ¥Î»;ĬÈÏΪ 100 + pTiles->put_MaxCacheSize(mapWindow::tkCacheType::Disk, 300.0);//´óСÒÔ MB Ϊµ¥Î»;ĬÈÏΪ 100 } -//���ܣ��������ͼ����Ӱ���ͼ���� +//¹¦ÄÜ£º¼¤»îÌìµØÍ¼ÔÚÏßÓ°ÏñµØÍ¼·þÎñ void CGISDlg::LoadTianDiTuService() { mapWindow::IGlobalSettingsPtr glSettingsPtr; glSettingsPtr.CreateInstance("MapWinGIS.GlobalSettings"); m_map.put_ReuseTileBuffer(true); - //m_map.SetMouseWheelSpeed(1);//Ĭ��ֵΪ 0.5������ 0.1 - 10.0 ��Χ�ڵ�ֵ��ֵ 1.0 ���ر����������š� + //m_map.SetMouseWheelSpeed(1);//ĬÈÏֵΪ 0.5¡£½ÓÊÜ 0.1 - 10.0 ·¶Î§ÄÚµÄÖµ¡£Öµ 1.0 ½«¹Ø±ÕÊó±ê¹öÂÖËõ·Å¡£ - m_map.put_GrabProjectionFromData(false); //����ͼ��Ϊ0ʱͶӰ�ÿյ������ߵ�ͼ����ʾ + m_map.put_GrabProjectionFromData(false); //±ÜÃâͼ²ãΪ0ʱͶӰÖÿյ¼ÖÂÔÚÏßµØÍ¼²»ÏÔʾ m_map.put_Projection(mapWindow::tkMapProjection::PROJECTION_WGS84); m_map.GetTiles()->ProviderId = mapWindow::tkTileProvider::ProviderCustom; m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); @@ -737,11 +737,11 @@ void CGISDlg::LoadTianDiTuService() } m_map.Redraw3(mapWindow::RedrawSkipAllLayers, True); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = true; } -//���ܣ����ŵ�Ŀ��λ�� +//¹¦ÄÜ£ºËõ·Åµ½Ä¿±êλÖà void CGISDlg::ZoomToLocation(double lon,double lat) { m_map.put_Projection(mapWindow::tkMapProjection::PROJECTION_WGS84); @@ -750,20 +750,20 @@ void CGISDlg::ZoomToLocation(double lon,double lat) m_map.put_Latitude(lat); m_map.put_CurrentZoom(16); m_map.Redraw3(mapWindow::RedrawSkipAllLayers, True); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = true; } -//���ܣ����ص�ͼ���ݣ�����ʸ������ +//¹¦ÄÜ£º¼ÓÔØµØÍ¼Êý¾Ý£¬°üÀ¨Ê¸Á¿Êý¾Ý void CGISDlg::OnAddMapData() { TCHAR s[10000]; s[0]=0; CFileDialog dlg(true); - dlg.m_ofn.lpstrTitle=_T("�ò¿ª±ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½"); + dlg.m_ofn.lpstrTitle=_T("´ò¿ª±¾µØÎļþ"); dlg.m_ofn.lpstrFile=s; dlg.m_ofn.nMaxFile=sizeof(s)/sizeof(TCHAR); - TCHAR filter[500]=_T("SHAPE�ļ�(*.shp)\0*.shp"); + TCHAR filter[500]=_T("SHAPEÎļþ(*.shp)\0*.shp"); dlg.m_ofn.lpstrFilter=filter; dlg.m_ofn.Flags|=OFN_ALLOWMULTISELECT|OFN_ENABLESIZING|OFN_EXPLORER; if(dlg.DoModal()==IDCANCEL) return; @@ -783,7 +783,7 @@ void CGISDlg::OnAddMapData() path=dlg.GetNextPathName(pos); Openlocalfile(path); } - // ��ȡ�ڵ�������Ϣ + // ¶ÁÈ¡½ÚµãÅäÖÃÐÅÏ¢ CString fileName = GetSoftwareCurrentDirectory() + "\\map.ini"; ::WritePrivateProfileString("map","layer",path,fileName); @@ -791,18 +791,18 @@ void CGISDlg::OnAddMapData() -//���ܣ�����դ��Ӱ������ +//¹¦ÄÜ£º¼ÓÔØÕ¤¸ñÓ°ÏñÊý¾Ý void CGISDlg::OnAddRasterImage() { TCHAR s[10000]; s[0]=0; CFileDialog dlg(true); - dlg.m_ofn.lpstrTitle=_T("�ò¿ª±ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½"); + dlg.m_ofn.lpstrTitle=_T("´ò¿ª±¾µØÎļþ"); dlg.m_ofn.lpstrFile=s; dlg.m_ofn.nMaxFile=sizeof(s)/sizeof(TCHAR); - //TCHAR filter[500]=_T("SHAPE�ļ�(*.shp)\0*.shp\0IMG�ļ�(*.img)\0*.img\0GeoTIFF�ļ�(*.tif)\0*.tif\0ASC�ļ�(*.asc)\0*.asc\0�����ļ�(*.*)\0*.*\0"); + //TCHAR filter[500]=_T("SHAPEÎļþ(*.shp)\0*.shp\0IMGÎļþ(*.img)\0*.img\0GeoTIFFÎļþ(*.tif)\0*.tif\0ASCÎļþ(*.asc)\0*.asc\0ËùÓÐÎļþ(*.*)\0*.*\0"); - TCHAR filter[500]=_T("GeoTIFF�ļ�(*.tif)\0*.tif\0�����ļ�(*.*)\0*.*\0"); + TCHAR filter[500]=_T("GeoTIFFÎļþ(*.tif)\0*.tif\0ËùÓÐÎļþ(*.*)\0*.*\0"); dlg.m_ofn.lpstrFilter=filter; dlg.m_ofn.Flags|=OFN_ALLOWMULTISELECT|OFN_ENABLESIZING|OFN_EXPLORER; if(dlg.DoModal()==IDCANCEL) return; @@ -822,17 +822,17 @@ void CGISDlg::OnAddRasterImage() path=dlg.GetNextPathName(pos); Openlocalfile(path); } - // ��ȡ�ڵ�������Ϣ + // ¶ÁÈ¡½ÚµãÅäÖÃÐÅÏ¢ CString fileName = GetSoftwareCurrentDirectory() + "\\map.ini"; ::WritePrivateProfileString("map","layer",path,fileName); } -//���ܣ����ļ�ѡ��Ի��ò£¬¼ï¿½ï¿½Øºï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½ +//¹¦ÄÜ£º´ò¿ªÎļþÑ¡Ôñ¶Ô»°¿ò£¬¼ÓÔØº½ÏßÊý¾ÝÎļþ void CGISDlg::OnAddFlyLineData() { - //δ���ص�ͼ������ + //δ¼ÓÔØµØÍ¼£¬·µ»Ø if (!m_bHaveAddMap) { return; @@ -840,23 +840,23 @@ void CGISDlg::OnAddFlyLineData() if (m_flyLineNum > m_totalFlyLines) { - AfxMessageBox(_T("�Ѽ��غ�����>12��")); + AfxMessageBox(_T("ÒѼÓÔØº½ÏßÊý>12£¡")); return; } - //�����ļ��Ի��� - CFileDialog dlg(true, ".txt","*.txt",OFN_HIDEREADONLY, "�����ļ�(*.txt)|*.txt|", NULL); + //µ¯³öÎļþ¶Ô»°¿ò + CFileDialog dlg(true, ".txt","*.txt",OFN_HIDEREADONLY, "º½ÏßÎļþ(*.txt)|*.txt|", NULL); if (dlg.DoModal() == IDOK) { - //��ȡ��·�ļ����������� + //¶ÁÈ¡º½Â·Îļþ£¬²¢±ê»æ³öÀ´ OnShowGivenLine(dlg.GetPathName()); } } -//���ܣ����е�ͼ�ķŴ���� +//¹¦ÄÜ£º½øÐеØÍ¼µÄ·Å´ó²Ù×÷ void CGISDlg::OnMapZoomIn() { @@ -872,7 +872,7 @@ void CGISDlg::OnMapZoomIn() } -//��ͼ��С +//µØÍ¼ËõС void CGISDlg::OnMapZoomOut() { m_bSetPointModel=FALSE; @@ -886,7 +886,7 @@ void CGISDlg::OnMapZoomOut() m_bSelectFeatureFlag = false; } -//��ͼ���� +//µØÍ¼ÂþÓÎ void CGISDlg::OnMapMove() { m_bSetPointModel=FALSE; @@ -908,7 +908,7 @@ void CGISDlg::OnMapMove() } -//���ܣ���ͼѡ�� +//¹¦ÄÜ£ºµØÍ¼Ñ¡Ôñ void CGISDlg::OnMapSelect() { m_bSetPointModel=FALSE; @@ -919,7 +919,7 @@ void CGISDlg::OnMapSelect() m_bLDSetPoint = FALSE; - if (!m_bEditLine) //�Ǻ��߱༭ģʽ�¿�ѡ + if (!m_bEditLine) //·Çº½Ï߱༭ģʽÏ¿ÉÑ¡ { m_bSelectFeatureFlag = true; // by Wu } @@ -930,7 +930,7 @@ void CGISDlg::OnMapSelect() } -//��ͼȫ����ʾ +//µØÍ¼È«¾°ÏÔʾ void CGISDlg::OnMapFullScreen() { m_bSetPointModel=FALSE; @@ -946,7 +946,7 @@ void CGISDlg::OnMapFullScreen() } -//���ܣ�����2��֮��ľ��� +//¹¦ÄÜ£º²âÁ¿2µãÖ®¼äµÄ¾àÀë void CGISDlg::OnSurvey() { m_bSelectFeatureFlag = false; @@ -959,7 +959,7 @@ void CGISDlg::OnSurvey() m_bLDSetPoint = FALSE; m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); - //����� + //¶àµã²â¾à if (m_bPolylineMeasure) { ClearPloylineMeasure(); @@ -973,27 +973,27 @@ void CGISDlg::OnSurvey() } /* - //���� + //ÖØÖà m_pHZDistanceDlg->ResetCoordinateData(); if (!m_bHaveShowDistanceDlg) { m_bHaveShowDistanceDlg = true; - //��ʾ�������� + //ÏÔʾÈí¼þ½çÃæ m_pHZDistanceDlg->ShowWindow(SW_SHOW); } else { m_bHaveShowDistanceDlg = false; - //������������ + //Òþ²ØÈí¼þ½çÃæ m_pHZDistanceDlg->ShowWindow(SW_HIDE); }*/ } -//������� +//Çå³ýº½¼£ void CGISDlg::OnEraseTrack() { EraseTrack(0); @@ -1001,7 +1001,7 @@ void CGISDlg::OnEraseTrack() EraseTrack(2); } - //������� + //Çå³ýº½¼£ void CGISDlg::EraseTrack(int uavid) { if (uavid<0||uavid>2) @@ -1015,10 +1015,10 @@ void CGISDlg::EraseTrack(int uavid) m_bLDSetPoint = FALSE; - //�Ѿ���������˻��ķ��й켣��������� + //ÒѾ­±ê»æÁËÎÞÈË»úµÄ·ÉÐй켣£¬Çå³ýº½¼£ if (m_bFirstDrawUAVTrack[uavid]) { - //������˻��ı��ͼ�� + //Çå³ýÎÞÈË»úµÄ±ê»æÍ¼²ã if (m_flyTrackLayerID[uavid] != -1) { m_map.RemoveLayer(m_flyTrackLayerID[uavid]); @@ -1036,13 +1036,13 @@ void CGISDlg::EraseTrack(int uavid) } -//�����������Ŀ������� +//Çå³ý±ê»æµÄËùÓÐÄ¿±êµãÊý¾Ý void CGISDlg::OnEraseAllTargets() { - //����Ŀ����������0ʱ + //±ê»æµÄÄ¿±êµã¸öÊý´óÓÚ0ʱ if (m_targetPointNum > 0) { - //��������Label + //Çå³ýËùÓÐ±ê»æµÄLabel m_map.ClearLabels(m_targetDrawLayerID); m_map.ClearDrawing(m_targetDrawLayerID); @@ -1054,21 +1054,21 @@ void CGISDlg::OnEraseAllTargets() } -//���ܣ��������˻��ķ��к��㣬���Ƴ����˻��ķ��к��� -//���룺���˻��ĵ�ǰ�ľ���dX���dY�������yaw, ���ԣ���Ϊ��λ�� +//¹¦ÄÜ£ºÔö¼ÓÎÞÈË»úµÄ·ÉÐк½µã£¬»æÖƳöÎÞÈË»úµÄ·ÉÐк½¼£ +//ÊäÈ룺ÎÞÈË»úµÄµ±Ç°µÄ¾­¶ÈdX£¬Î³¶ÈdY£¬º½Ïò½Çyaw, ¶¼ÒÔ£¨¡ãΪµ¥Î»£© void CGISDlg::AddFlyPoint(int uavId,const double dX, const double dY, const double yaw,bool control) { - //δ���ص�ͼ������ + //δ¼ÓÔØµØÍ¼£¬·µ»Ø if (!m_bHaveAddMap) { return; } - //������ľ�γ����ֵ��Χ���м�飬���Ƿ���Ч + //¶ÔÊäÈëµÄ¾­Î³¶ÈÊýÖµ·¶Î§½øÐмì²é£¬¿´ÊÇ·ñÓÐЧ double fabsLon = fabs(dX); double fabsLat = fabs(dY); - //�ж����ݷ�Χ�Ƿ���Ч + //ÅжÏÊý¾Ý·¶Î§ÊÇ·ñÓÐЧ if ((fabsLon<=0.000001) || (fabsLon>180) || (fabsLat<=0.000001) || (fabsLat>90) || (yaw<0) || (yaw>360)) { return; @@ -1076,26 +1076,26 @@ void CGISDlg::AddFlyPoint(int uavId,const double dX, const double dY, const doub if (m_bAutoMove) { - //�Զ����Σ�ʹ�ɻ���ʾ�ڵ�ͼ�м� + //×Ô¶¯ÂþÓΣ¬Ê¹·É»úÏÔʾÔÚµØÍ¼Öмä if (control) { AutomaticMoveMap(dX, dY); } } - //��溽������zcw + //±ê»æº½¼£µãÊýzcw m_drawTrackPtNum[uavId]++; - //�����˺�����������200-��2000 2017.07.05 + //Ôö¼ÓÁ˺½¼£µãÊý£¬ÓÉ200-¡·2000 2017.07.05 if (m_drawTrackPtNum[uavId] >= 100) { - //������� + //Çå³ýº½¼£ EraseTrack(uavId); m_drawTrackPtNum[uavId] = 0; } - //����UAV�ķ��й켣 + //»æÖÆUAVµÄ·ÉÐй켣 DrawUAV(uavId,dX, dY, yaw,control); /*static int num = 0; @@ -1106,36 +1106,36 @@ void CGISDlg::AddFlyPoint(int uavId,const double dX, const double dY, const doub } num++;*/ - //ʵʱͨ�ӷ��� + //ʵʱͨÊÓ·ÖÎö //m_dlgLightRegion.AnalysisRealTime(dY, distance, angleGU, g_gcsLon, g_gcsLat); //m_dlgLightRegion.DrawVisiAreaRealTime(dY, distance, angleGU, g_gcsLon, g_gcsLat); m_dlgLightRegion.DrawCrashAreaRealTime(dY, dX, dY); - //ˢ�µ�ͼ��ÿ5֡ˢ��һ�Σ� + //ˢеØÍ¼£¨Ã¿5Ö¡Ë¢ÐÂÒ»´Î£© m_map.Redraw(); } void CGISDlg::AddFlyPoint_ADS(const int uavNum, const int uavid, const double lon, const double lat, const double yaw, const bool control, const CString strPlaneName) { - //δ���ص�ͼ������ + //δ¼ÓÔØµØÍ¼£¬·µ»Ø if (!m_bHaveAddMap) { return; } - //������ľ�γ����ֵ��Χ���м�飬���Ƿ���Ч + //¶ÔÊäÈëµÄ¾­Î³¶ÈÊýÖµ·¶Î§½øÐмì²é£¬¿´ÊÇ·ñÓÐЧ double fabsLon = fabs(lon); double fabsLat = fabs(lat); - //�ж����ݷ�Χ�Ƿ���Ч + //ÅжÏÊý¾Ý·¶Î§ÊÇ·ñÓÐЧ if ((fabsLon<=0.000001) || (fabsLon>180) || (fabsLat<=0.000001) || (fabsLat>90) || (yaw<0) || (yaw>360)) { return; } - //����UAV�ķ��й켣 + //»æÖÆUAVµÄ·ÉÐй켣 DrawUAV_ADS(uavNum, uavid, lon, lat, yaw, control, strPlaneName); - //ˢ�µ�ͼ��ÿ5֡ˢ��һ�Σ� + //ˢеØÍ¼£¨Ã¿5Ö¡Ë¢ÐÂÒ»´Î£© m_map.Redraw(); } @@ -1157,17 +1157,17 @@ void CGISDlg::Openlocalfile(CString file) } _bstr_t pro=shape->GetProjection(); - //���õ�ͼ�ı���ɫΪ��ɫ + //ÉèÖõØÍ¼µÄ±³¾°É«Îª°×É« m_map.SetBackColor(RGB(255,255,255)); int shpLayerPose = m_map.AddLayer(shape,true); - //�ƶ����׶� + //ÒÆ¶¯µ½µ×¶Ë m_map.MoveLayerBottom(shpLayerPose); m_Layer->AddLayerInfo(filename,1); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = true; } else if(filetype.Compare("img")==0) @@ -1179,14 +1179,14 @@ void CGISDlg::Openlocalfile(CString file) error=1; } - //���õ�ͼ�ı���ɫΪ��ɫ + //ÉèÖõØÍ¼µÄ±³¾°É«Îª°×É« m_map.SetBackColor(RGB(255,255,255)); m_map.AddLayer(image,true); m_Layer->AddLayerInfo(filename,2); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = true; } else if(filetype.Compare("tif")==0) @@ -1198,14 +1198,14 @@ void CGISDlg::Openlocalfile(CString file) error=1; } - //���õ�ͼ�ı���ɫΪ��ɫ + //ÉèÖõØÍ¼µÄ±³¾°É«Îª°×É« m_map.SetBackColor(RGB(255,255,255)); int tiffLayerID = m_map.AddLayer(image,true); m_Layer->AddLayerInfo(filename,2); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = true; } @@ -1218,13 +1218,13 @@ void CGISDlg::Openlocalfile(CString file) error=1; } - //���õ�ͼ�ı���ɫΪ��ɫ + //ÉèÖõØÍ¼µÄ±³¾°É«Îª°×É« m_map.SetBackColor(RGB(255,255,255)); m_map.AddLayer(image,true); m_Layer->AddLayerInfo(filename,2); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = true; } /*if(m_bHaveAddMap) @@ -1234,7 +1234,7 @@ void CGISDlg::Openlocalfile(CString file) if(error==1) { - CString msg="�޷��� "+file; + CString msg="ÎÞ·¨´ò¿ª "+file; AfxMessageBox(msg); } @@ -1259,24 +1259,24 @@ CString CGISDlg::GetFileName(CString file) return name; } -//��ʾ�Ҽ��˵� +//ÏÔʾÓÒ¼ü²Ëµ¥ void CGISDlg::OnShowRMenu() { - //����Ҽ����ʱ��������ݲ˵� + //Êó±êÓÒ¼üµã»÷ʱ£¬µ¯³ö¿ì½Ý²Ëµ¥ if (!m_bLineDesign) { - //��ʾ��ݲ˵� + //ÏÔʾ¿ì½Ý²Ëµ¥ CMenu menu; POINT pt; GetCursorPos( &pt ); - //�����ڻط�ģʽʱ�����á���������������װ���Ӳ˵����Ȼ�ɫ + //µ±´¦ÓڻطÅģʽʱ£¬ÉèÖᢵ¼Òý²Ù×÷¡¢º½Ïß×°¶©×Ӳ˵¥¶¼ÏÈ»ÒÉ« menu.LoadMenu(IDR_MENU2); - //����1 + //º½Ïß1 if (m_pHaveDrawLineFlag[0]) { menu.CheckMenuItem( IDM_SHOW_LINE1, MF_BYCOMMAND | MF_CHECKED ); @@ -1286,7 +1286,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( IDM_SHOW_LINE1, MF_BYCOMMAND | MF_UNCHECKED ); } - //����2 + //º½Ïß2 if (m_pHaveDrawLineFlag[1]) { menu.CheckMenuItem( IDM_SHOW_LINE2, MF_BYCOMMAND | MF_CHECKED ); @@ -1296,7 +1296,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( IDM_SHOW_LINE2, MF_BYCOMMAND | MF_UNCHECKED ); } - //����3 + //º½Ïß3 if (m_pHaveDrawLineFlag[2]) { menu.CheckMenuItem( IDM_SHOW_LINE3, MF_BYCOMMAND | MF_CHECKED ); @@ -1306,7 +1306,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( IDM_SHOW_LINE3, MF_BYCOMMAND | MF_UNCHECKED ); } - //����4 + //º½Ïß4 if (m_pHaveDrawLineFlag[3]) { menu.CheckMenuItem( IDM_SHOW_LINE4, MF_BYCOMMAND | MF_CHECKED ); @@ -1316,7 +1316,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( IDM_SHOW_LINE4, MF_BYCOMMAND | MF_UNCHECKED ); } - //����5 + //º½Ïß5 if (m_pHaveDrawLineFlag[4]) { menu.CheckMenuItem( IDM_SHOW_LINE5, MF_BYCOMMAND | MF_CHECKED ); @@ -1327,7 +1327,7 @@ void CGISDlg::OnShowRMenu() } /* - //����6 + //º½Ïß6 if (m_pHaveDrawLineFlag[5]) { menu.CheckMenuItem( IDM_SHOW_LINE6, MF_BYCOMMAND | MF_CHECKED ); @@ -1337,7 +1337,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( IDM_SHOW_LINE6, MF_BYCOMMAND | MF_UNCHECKED ); } - //����7 + //º½Ïß7 if (m_pHaveDrawLineFlag[6]) { menu.CheckMenuItem( IDM_SHOW_LINE7, MF_BYCOMMAND | MF_CHECKED ); @@ -1346,7 +1346,7 @@ void CGISDlg::OnShowRMenu() { menu.CheckMenuItem( IDM_SHOW_LINE7, MF_BYCOMMAND | MF_UNCHECKED ); } - //����8 + //º½Ïß8 if (m_pHaveDrawLineFlag[7]) { menu.CheckMenuItem( IDM_SHOW_LINE8, MF_BYCOMMAND | MF_CHECKED ); @@ -1355,7 +1355,7 @@ void CGISDlg::OnShowRMenu() { menu.CheckMenuItem( IDM_SHOW_LINE8, MF_BYCOMMAND | MF_UNCHECKED ); } - //����9 + //º½Ïß9 if (m_pHaveDrawLineFlag[8]) { menu.CheckMenuItem( IDM_SHOW_LINE9, MF_BYCOMMAND | MF_CHECKED ); @@ -1364,7 +1364,7 @@ void CGISDlg::OnShowRMenu() { menu.CheckMenuItem( IDM_SHOW_LINE9, MF_BYCOMMAND | MF_UNCHECKED ); } - //����10 + //º½Ïß10 if (m_pHaveDrawLineFlag[9]) { menu.CheckMenuItem( IDM_SHOW_LINE10, MF_BYCOMMAND | MF_CHECKED ); @@ -1375,7 +1375,7 @@ void CGISDlg::OnShowRMenu() } */ - //����14 ���պ��� + //º½Ïß14 »ØÊÕº½Ïß if (m_pHaveDrawLineFlag[13]) { menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_CHECKED ); @@ -1385,7 +1385,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_UNCHECKED ); } - //����11 Ӧ������ + //º½Ïß11 Ó¦¼±º½Ïß if (m_pHaveDrawLineFlag[10]) { menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED ); @@ -1395,7 +1395,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_UNCHECKED ); } - //����12 ������ + //º½Ïß12 µç×ÓΧÀ¸ if (m_pHaveDrawLineFlag[11]) { menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_CHECKED ); @@ -1450,7 +1450,7 @@ void CGISDlg::OnShowRMenu() menu.CheckMenuItem( ID_MENU_ADSB, MF_BYCOMMAND | MF_UNCHECKED ); } - //������ݲ˵� + //µ¯³ö¿ì½Ý²Ëµ¥ menu.GetSubMenu( 0 )->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this ); @@ -1458,12 +1458,12 @@ void CGISDlg::OnShowRMenu() } -//���ܣ��Զ�����,����֤���˻�����ڵ�ͼ������ -//ʵ��ԭ����1���Ȼ�õ�ͼ��ǰ����ʾ���� -// 2���ٸ������˻��ĵ�ǰ���꣬�ƶ���ͼ +//¹¦ÄÜ£º×Ô¶¯ÂþÓÎ,¼´±£Ö¤ÎÞÈË»ú±ê»æÔÚµØÍ¼µÄÖÐÐÄ +//ʵÏÖÔ­Àí£º1£©ÏÈ»ñµÃµØÍ¼µ±Ç°µÄÏÔÊ¾ÇøÓò +// 2£©ÔÙ¸ù¾ÝÎÞÈË»úµÄµ±Ç°×ø±ê£¬Òƶ¯µØÍ¼ void CGISDlg::AutomaticMoveMap(double dX, double dY) { - //����ÿ�����صľ�γ��ֵ + //¼ÆËãÿ¸öÏñËØµÄ¾­Î³¶ÈÖµ double lonDegreePerPixel = 0; double latDegreePerPixel = 0; @@ -1485,7 +1485,7 @@ void CGISDlg::AutomaticMoveMap(double dX, double dY) lonDegreePerPixel = (xMax-xMin) * m_onePerWidth; latDegreePerPixel = (yMax-yMin) * m_onePerHeight; - //��ʾ��Χ + //ÏÔʾ·¶Î§ double xNewMin = 0; double yNewMin = 0; double zNewMin = 0; @@ -1494,10 +1494,10 @@ void CGISDlg::AutomaticMoveMap(double dX, double dY) double yNewMax = 0; double zNewMax = 0; - //���ȷ������� + //¾­¶È·½ÏòÔöÁ¿ double lonIncrement = lonDegreePerPixel*m_mapAreaHalfWidth; - //γ�ȷ������� + //γ¶È·½ÏòÔöÁ¿ double latIncrement = latDegreePerPixel*m_mapAreaHalfHeight; xNewMin = dX - lonIncrement; @@ -1506,16 +1506,16 @@ void CGISDlg::AutomaticMoveMap(double dX, double dY) yNewMin = dY - latIncrement; yNewMax = dY + latIncrement; - //�����µ���ʾ��Χ + //ÉèÖÃеÄÏÔʾ·¶Î§ pExtents->SetBounds(xNewMin,yNewMin,zNewMin,xNewMax,yNewMax,zNewMax); m_map.SetExtents(pExtents); } } -//���ܣ������Ի�����ʾ����γ����Ϣ +//¹¦ÄÜ£ºµ¯³ö¶Ô»°¿ò£¬ÏÔʾ¾­¶Èγ¶ÈÐÅÏ¢ void CGISDlg::OnShowLonLatInfo() { - if (!m_bHaveShowLonLatDlg) //δ�����Ի����òµ¯³ï¿½ï¿½Ô»ï¿½ï¿½ï¿½ï¿½ï¿½Ê¾ + if (!m_bHaveShowLonLatDlg) //δµ¯³ö¶Ô»°¿ò£¬Ôòµ¯³ö¶Ô»°¿òÏÔʾ { m_bHaveShowLonLatDlg = true; @@ -1533,7 +1533,7 @@ void CGISDlg::OnShowLonLatInfo() -//����:ɾ������ͼ�� +//¹¦ÄÜ:ɾ³ýËùÓÐͼ²ã void CGISDlg::OnRemoveAllLayers() { if (!m_bHaveAddMap) @@ -1541,12 +1541,12 @@ void CGISDlg::OnRemoveAllLayers() return; } - //������� + //Çå³ýº½¼£ OnEraseTrack(); for(int i=0;i 0) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(g_lDemAltDisLayerID[i]); g_lDemAltDisLayerID[i] = -1; } if (g_lDemPtNumLayerID[i] > 0) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(g_lDemPtNumLayerID[i]); g_lDemPtNumLayerID[i] = -1; } } - //�����ǵ����ͼ�� + //Çå³ý±ê¼ÇµãÏà¹ØÍ¼²ã for (int i=0;i 0) @@ -1715,30 +1715,30 @@ void CGISDlg::OnRemoveAllLayers() { m_pHaveDrawLineFlag[i] = false; } - //���õ�ͼ�ı���ɫΪ��ɫ + //ÉèÖõØÍ¼µÄ±³¾°É«Îª°×É« m_map.SetBackColor(RGB(0,0,0)); - //�Ƿ��Ѿ������˵�ͼ + //ÊÇ·ñÒѾ­¼ÓÔØÁ˵ØÍ¼ m_bHaveAddMap = false; } -//����:ͼ����� +//¹¦ÄÜ:ͼ²ã¹ÜÀí void CGISDlg::OnLayerManage() { m_Layer->ShowWindow(SW_SHOW); } -//���ܣ�����ͼ�����ʾ������ +//¹¦ÄÜ£ºÉèÖÃͼ²ãµÄÏÔʾ»òÒþ²Ø LRESULT CGISDlg::OnSetLayerStatus(WPARAM wParam, LPARAM lParam) { - if (lParam == 0) //����ͼ�� + if (lParam == 0) //Òþ²ØÍ¼²ã { m_map.SetLayerVisible(wParam, false); } - else if (lParam == 1) //��ʾͼ�� + else if (lParam == 1) //ÏÔʾͼ²ã { m_map.SetLayerVisible(wParam, true); } @@ -1755,8 +1755,6 @@ BEGIN_EVENTSINK_MAP(CGISDlg, CBCGPDialog) END_EVENTSINK_MAP() - -// �����������¼� void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) { double dX = 0; @@ -1768,7 +1766,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) CString str_bt; TRACE(_T("mapWindow clicked\n")); // TRACE(_T(str_bt.Format("%d",Button))); - // ѡ���ǵ�ʱ + // Ñ¡Ôñ±ê¼Çµãʱ if (g_bSelectMarker && (Button == 1)) { g_bSelectMarker = false; @@ -1778,14 +1776,14 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) if (m_bHaveShowDistanceDlg && (Button == 1)) { - //��������ת���������� + //ÏñËØ×ø±êת»»µØÀí×ø±ê m_map.PixelToProj(x,y, &dX, &dY); - //���õ�ľ��ȡ�γ�� + //ÉèÖõãµÄ¾­¶È¡¢Î³¶È m_pHZDistanceDlg->SetPtCoordinate(dX, dY); } - /***************************************����� by Wu 2023.10.16*****************************************/ + /***************************************¶àµã²â¾à by Wu 2023.10.16*****************************************/ if (m_bPolylineMeasure && (Button == 1)) { if (m_bEndMeasure) @@ -1793,23 +1791,23 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) ClearPloylineMeasure(); m_bEndMeasure = false; } - //��������ת���������� + //ÏñËØ×ø±êת»»µØÀí×ø±ê m_map.PixelToProj(x,y, &dX, &dY); m_numPolylineMeasurePts++; m_posPolylineMeasurePts[m_numPolylineMeasurePts-1][0] = dX; m_posPolylineMeasurePts[m_numPolylineMeasurePts-1][1] = dY; - if (m_numPolylineMeasurePts==1) //��� + if (m_numPolylineMeasurePts==1) //Æðµã { - AddPointShapeLayer(m_polylineMeasurePtLayerID[0], dX, dY, _T("���"), _T(""), RGB(255,0,0));//��ע��� + AddPointShapeLayer(m_polylineMeasurePtLayerID[0], dX, dY, _T("Æðµã"), _T(""), RGB(255,0,0));//±ê×¢Æðµã m_bMeasureDrag = true; return; } - //�����߶� + //»æÖÆÏß¶Î if (m_polylineMeasureLineLayerID==-1) { - //������ͼ�� + //´´½¨Ïßͼ²ã CreateEmptyShapfile(m_polylineMeasureLineLayerID, 1, RGB(0,255,0)); } if (m_numPolylineMeasurePts==2) @@ -1830,22 +1828,22 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) (m_map.GetShapefile(m_polylineMeasurePtLayerID[1])).SetDefaultDrawingOptions(pShapeDrawingOption); } //AddOnePoint2Shapfile(m_polylineMeasurePtLayerID[1],0,dX, dY); - //���ƽڵ� + //»æÖƽڵã mapWindow::IPointPtr pintPtr; pintPtr.CreateInstance("MapWinGIS.Point"); mapWindow::IShapePtr shapePtr; shapePtr.CreateInstance("MapWinGIS.Shape"); shapePtr->Create(mapWindow::SHP_POINT); - //���� + //¾­¶È pintPtr->x = dX; - //� + //γ¶È pintPtr->y = dY; long i = m_numPolylineMeasurePts-2; shapePtr->InsertPoint(pintPtr, &i); - //�����ʸ�� + //²åÈëµãʸÁ¿ (m_map.GetShapefile(m_polylineMeasurePtLayerID[1])).EditInsertShape(shapePtr, &i); - //���Ʋ���ע�� + //»æÖƲâÁ¿×¢¼Ç if (m_polylineMeasureLabelLayerID!=-1) { m_map.ClearDrawing(m_polylineMeasureLabelLayerID); @@ -1854,7 +1852,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) DrawDistLabel(m_polylineMeasureLabelLayerID,m_posPolylineMeasurePts,m_numPolylineMeasurePts,1); } - //�Ҽ����������� + //ÓÒ¼ü¶àµã²âÁ¿½áÊø if (m_bPolylineMeasure && (Button == 2)) { EndPolylineMessure(); @@ -1863,16 +1861,16 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) /*******************************************************************************************************/ /*******************************************by Wu 2023.09.14*******************************************/ - //ѡ��Ҫ�� + //Ñ¡ÖÐÒªËØ if (m_bSelectFeatureFlag && (Button == 1)) { - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x,y, &dX, &dY); double pt[2] = {dX,dY}; m_lineSelectedID = IsSelectLine(pt); ClearHighLightLine(); - if (m_lineSelectedID==11) //��ʱ���λ��պ��� + if (m_lineSelectedID==11) //ÔÝʱÆÁ±Î»ØÊÕº½Ïß { return; } @@ -1882,66 +1880,66 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) DrawHighLightLine(m_editLineDataGroup.linePts,m_editLineDataGroup.linePointNum); } } - //���պ��߱༭ + //»ØÊÕº½Ï߱༭ if (m_bEditLine && (Button == 1)) { if (m_lineSelectedID<=0) { return; } - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x,y, &dX, &dY); m_iPtSel=GetPtSel(m_editLineDataGroup.pts,m_editLineDataGroup.pointNum,x,y); - if (m_iPtSel<0) //ѡ�зǽڵ㣬������������ + if (m_iPtSel<0) //Ñ¡Öзǽڵ㣬ÔÚÏßÉÏÐÂÔöµã { //m_editLineDataGroup = m_ShowedLineDataList[m_lineSelectedID]; double pt[2] = {dX,dY}; vector lineX,lineY; TransformToVectorPoints(m_editLineDataGroup,lineX,lineY); int addPointPos = topologicalAnalysis.isPointInPolyLine(pt,lineX,lineY); - if (addPointPos==0) //����㲻������ + if (addPointPos==0) //µã»÷µã²»ÔÚÏßÉÏ { return; } if (m_lineSelectedID==11) { - if (addPointPos>m_editLineDataGroup.linePointNum-4) return; //���պ�������4,5,6���߲��ñ༭ + if (addPointPos>m_editLineDataGroup.linePointNum-4) return; //»ØÊÕº½Ï߯Á±Î4,5,6³¤±ß²»Èñ༭ } - //�������ӵ����� + //¼ÆËãÌí¼Óµã×ø±ê double linePt1[2] = {m_editLineDataGroup.linePts[addPointPos-1].dX,m_editLineDataGroup.linePts[addPointPos-1].dY}; double linePt2[2] = {m_editLineDataGroup.linePts[addPointPos].dX,m_editLineDataGroup.linePts[addPointPos].dY}; double targetPt[2] = {0.0,0.0}; topologicalAnalysis.GetPointToLineVerticalCross(linePt1,linePt2,pt,targetPt); - //���ӵ����� + //Ìí¼Óµ½ÏßÉÏ AddPointInLine(addPointPos,targetPt,m_editLineDataGroup); if (m_distLabelLayer!=-1) { - m_map.ClearDrawing(m_distLabelLayer);//�������ͷ�λ�DZ�� + m_map.ClearDrawing(m_distLabelLayer);//Çå³ý¾àÀëºÍ·½Î»½Ç±ê»æ } - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(m_editLineDataGroup.lineID-1); - //��溽�� + //±ê»æº½Ïß DrawFlyLine(m_editLineDataGroup); } } - //�Ҽ��༭���� + //ÓÒ¼ü±à¼­½áÊø if (m_bEditLine && (Button == 2)) { double lon,lat; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x,y, &lon, &lat); int selectedPointID = GetPtSel(m_editLineDataGroup.pts,m_editLineDataGroup.pointNum,x,y); if (selectedPointID>=0) { if (m_lineSelectedID==11) { - if (selectedPointID>=m_editLineDataGroup.pointNum-3 || selectedPointID==0) //���պ�������1,4,5,6,���� + if (selectedPointID>=m_editLineDataGroup.pointNum-3 || selectedPointID==0) //»ØÊÕº½Ï߯Á±Î1,4,5,6,º½µã { return; } @@ -1957,47 +1955,47 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) /***************************************************************************************************************/ - //���ں������ģʽʱ��������괦��ѡ��ģʽʱ + //´¦ÓÚº½ÏßÉè¼ÆÄ£Ê½Ê±£¬ÇÒÊó±ê¹â±ê´¦ÓÚÑ¡Ôñģʽʱ if (m_bLineDesign && (Button == 1)) { - ////if (m_map.GetCursorMode()!=5) //����Ϊ����ͷ״̬ + ////if (m_map.GetCursorMode()!=5) //ÉèÖÃΪÊó±ê¼ýͷ״̬ ////{ // m_map.SetCursorMode(5); ///*}*/ - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x,y, &dX, &dY); - if (m_bPtEdit ) //���ں���༭ģʽʱ + if (m_bPtEdit ) //´¦ÓÚº½µã±à¼­Ä£Ê½Ê± { m_iPtSel=GetPtSel(x,y); } - if (m_bSetPointModel)//�õ� + if (m_bSetPointModel)//Öõã { POINT pt; GetCursorPos( &pt ); - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x,y, &dX, &dY); - //������ + //º½µã±àºÅ m_curDesignPoint.nPt = m_designLinePointNum+1; - //���㾭�� + //º½µã¾­¶È m_curDesignPoint.dX = dX; - //����� + //º½µãγ¶È m_curDesignPoint.dY = dY; m_pDesignLineStruct[m_designLinePointNum] = m_curDesignPoint; - //�����ż���������1 + //º½µã±àºÅ¼ÆÊýÆ÷Ôö¼Ó1 m_designLinePointNum++; m_bAddNewPoint = true; } - if (m_bPtDel)//ɾ�� + if (m_bPtDel)//ɾµã { int iSel=GetPtSel(x,y); int i=0; @@ -2015,8 +2013,8 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) DrawLineDesign(); } - //�º������ 2016.01.05 - //�����ں�����ƣ�������괦��ѡ��ģʽʱ + //к½ÏßÉè¼Æ 2016.01.05 + //µ±´¦ÓÚº½ÏßÉè¼Æ£¬²¢ÇÒÊó±ê´¦ÓÚÑ¡Ôñģʽʱ if (m_bHaveShowLineDesign && (Button == 1)) { m_map.PixelToProj(x,y, &dX, &dY); @@ -2026,28 +2024,28 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) POINT pt; GetCursorPos(&pt); - //���ص�����ת����γ������ + //ÏñËØµã×ø±êת»¯¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &dX, &dY); - //������ + //º½µã±àºÅ m_CurNewDesignPt.nPt = m_NowNumLineDesign + 1; - //��ǰ��Ƶĺ���ľ��� + //µ±Ç°Éè¼ÆµÄº½µãµÄ¾­¶È m_CurNewDesignPt.dX = dX; - //��ǰ��Ƶĺ����γ�� + //µ±Ç°Éè¼ÆµÄº½µãµÄγ¶È m_CurNewDesignPt.dY = dY; - //��ǰ��Ƶĺ���ĸ߶� + //µ±Ç°Éè¼ÆµÄº½µãµÄ¸ß¶È m_CurNewDesignPt.nH = 0; - //��ǰ��Ƶĺ�����ٶ� + //µ±Ç°Éè¼ÆµÄº½µãµÄËÙ¶È m_CurNewDesignPt.nV = 0; - //��ǰ��Ƶĺ�������������� + //µ±Ç°Éè¼ÆµÄº½µãµÄÈÎÎñÌØÕ÷×Ö m_CurNewDesignPt.ch1 = 0x02; - //��ǰ��Ƶĺ���ĺ�·������ + //µ±Ç°Éè¼ÆµÄº½µãµÄº½Â·ÌØÕ÷×Ö m_CurNewDesignPt.ch2 = 0x01; m_pLineDesign->ShowLonLat(dX, dY); @@ -2055,7 +2053,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) m_pNewDesignLineStruct[m_NowNumLineDesign] = m_CurNewDesignPt; m_pLineDesign->InsertPt(m_CurNewDesignPt); - //�����ż�����+1 + //º½µã±àºÅ¼ÆÊýÆ÷+1 m_NowNumLineDesign++; @@ -2065,14 +2063,14 @@ 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; @@ -2099,15 +2097,15 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) if (bSel) { menu.LoadMenu(IDR_MENU_TARGET); - //������ݲ˵� + //µ¯³ö¿ì½Ý²Ëµ¥ menu.GetSubMenu( 0 )->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x,pt.y, this ); return; } - //�����ڻط�ģʽʱ�����á���������������װ���Ӳ˵����Ȼ�ɫ + //µ±´¦ÓڻطÅģʽʱ£¬ÉèÖᢵ¼Òý²Ù×÷¡¢º½Ïß×°¶©×Ӳ˵¥¶¼ÏÈ»ÒÉ« menu.LoadMenu(IDR_MENU2); - //����1 + //º½Ïß1 if (m_pHaveDrawLineFlag[0]) { menu.CheckMenuItem( IDM_SHOW_LINE1, MF_BYCOMMAND | MF_CHECKED ); @@ -2117,7 +2115,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( IDM_SHOW_LINE1, MF_BYCOMMAND | MF_UNCHECKED ); } - //����2 + //º½Ïß2 if (m_pHaveDrawLineFlag[1]) { menu.CheckMenuItem( IDM_SHOW_LINE2, MF_BYCOMMAND | MF_CHECKED ); @@ -2127,7 +2125,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( IDM_SHOW_LINE2, MF_BYCOMMAND | MF_UNCHECKED ); } - //����3 + //º½Ïß3 if (m_pHaveDrawLineFlag[2]) { menu.CheckMenuItem( IDM_SHOW_LINE3, MF_BYCOMMAND | MF_CHECKED ); @@ -2137,7 +2135,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( IDM_SHOW_LINE3, MF_BYCOMMAND | MF_UNCHECKED ); } - //����4 + //º½Ïß4 if (m_pHaveDrawLineFlag[3]) { menu.CheckMenuItem( IDM_SHOW_LINE4, MF_BYCOMMAND | MF_CHECKED ); @@ -2147,7 +2145,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( IDM_SHOW_LINE4, MF_BYCOMMAND | MF_UNCHECKED ); } - //����5 + //º½Ïß5 if (m_pHaveDrawLineFlag[4]) { menu.CheckMenuItem( IDM_SHOW_LINE5, MF_BYCOMMAND | MF_CHECKED ); @@ -2158,7 +2156,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) } /* - //����6 + //º½Ïß6 if (m_pHaveDrawLineFlag[5]) { menu.CheckMenuItem( IDM_SHOW_LINE6, MF_BYCOMMAND | MF_CHECKED ); @@ -2168,7 +2166,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( IDM_SHOW_LINE6, MF_BYCOMMAND | MF_UNCHECKED ); } - //����7 + //º½Ïß7 if (m_pHaveDrawLineFlag[6]) { menu.CheckMenuItem( IDM_SHOW_LINE7, MF_BYCOMMAND | MF_CHECKED ); @@ -2177,7 +2175,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) { menu.CheckMenuItem( IDM_SHOW_LINE7, MF_BYCOMMAND | MF_UNCHECKED ); } - //����8 + //º½Ïß8 if (m_pHaveDrawLineFlag[7]) { menu.CheckMenuItem( IDM_SHOW_LINE8, MF_BYCOMMAND | MF_CHECKED ); @@ -2186,7 +2184,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) { menu.CheckMenuItem( IDM_SHOW_LINE8, MF_BYCOMMAND | MF_UNCHECKED ); } - //����9 + //º½Ïß9 if (m_pHaveDrawLineFlag[8]) { menu.CheckMenuItem( IDM_SHOW_LINE9, MF_BYCOMMAND | MF_CHECKED ); @@ -2195,7 +2193,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) { menu.CheckMenuItem( IDM_SHOW_LINE9, MF_BYCOMMAND | MF_UNCHECKED ); } - //����10 + //º½Ïß10 if (m_pHaveDrawLineFlag[9]) { menu.CheckMenuItem( IDM_SHOW_LINE10, MF_BYCOMMAND | MF_CHECKED ); @@ -2206,7 +2204,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) }*/ - //����14 ���պ��� + //º½Ïß14 »ØÊÕº½Ïß if (m_pHaveDrawLineFlag[13]) { menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_CHECKED ); @@ -2216,7 +2214,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_UNCHECKED ); } - //����11 Ӧ������ + //º½Ïß11 Ó¦¼±º½Ïß if (m_pHaveDrawLineFlag[10]) { menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_CHECKED ); @@ -2226,7 +2224,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( ID_SHOW_HS11, MF_BYCOMMAND | MF_UNCHECKED ); } - //����12 ������ + //º½Ïß12 µç×ÓΧÀ¸ if (m_pHaveDrawLineFlag[11]) { menu.CheckMenuItem( ID_SHOW_TC12, MF_BYCOMMAND | MF_CHECKED ); @@ -2281,55 +2279,55 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) menu.CheckMenuItem( ID_MENU_ADSB, MF_BYCOMMAND | MF_UNCHECKED ); } - //������ݲ˵� + //µ¯³ö¿ì½Ý²Ëµ¥ menu.GetSubMenu( 0 )->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this ); - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &m_guidePtInfo.guidePtLon, &m_guidePtInfo.guidePtLat); } - if (Button == 2 && m_bLineDesign) //���߱༭ʱ��ֹͣ�༭ + if (Button == 2 && m_bLineDesign) //º½Ï߱༭ʱ£¬Í£Ö¹±à¼­ { CMenu tmenu; tmenu.LoadMenu(IDR_FLOATINGMENU); CRect rc=CRect(0,0,x,y); ClientToScreen(&rc); - //������ݲ˵� + //µ¯³ö¿ì½Ý²Ëµ¥ tmenu.GetSubMenu( 0 )->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON, rc.right,rc.bottom, this ); return; } - //���ڵر��Ի���ѡ��ģʽʱ��������괦��ѡ��ģʽ,������� + //´¦Óڵرêµã¶Ô»°¿òÑ¡µãģʽʱ£¬ÇÒÊó±ê¹â±ê´¦ÓÚÑ¡Ôñģʽ,×ó¼ü°´Ï if (m_bSelectDropPoint && (m_map.GetCursorMode() == 3) && (Button == 1)) { m_bSelectDropPoint = false; double _ptLon = 0.0, _ptLat = 0.0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &_ptLon, &_ptLat); - //�����������Ϣ + //¸üÐÂ×ø±êµãÐÅÏ¢ if (m_pTargetDlg && m_pTargetDlg->GetSafeHwnd()) { m_pTargetDlg->ShowPointPosition(_ptLon,_ptLat); } } - //���ڿ���������Ի���ѡ��ģʽʱ��������괦��ѡ��ģʽ,������� + //´¦ÓÚ¿ÉÊÓÓò·ÖÎö¶Ô»°¿òÑ¡µãģʽʱ£¬ÇÒÊó±ê¹â±ê´¦ÓÚÑ¡Ôñģʽ,×ó¼ü°´Ï if (g_bSelectDropPoint && (m_map.GetCursorMode() == 3) && (Button == 1)) { g_bSelectDropPoint = false; double _ptLon = 0.0, _ptLat = 0.0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &_ptLon, &_ptLat); - //�����������Ϣ,�����ͨ�ӷ��� + //¸üÐÂ×ø±êµãÐÅÏ¢,²¢Íê³ÉͨÊÓ·ÖÎö if (m_dlgLightRegion.GetSafeHwnd()) { m_dlgLightRegion.ShowPointPosition(_ptLon,_ptLat); @@ -2337,12 +2335,12 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) } } - //�̷߳���ѡ�� + //¸ß³Ì·ÖÎöÑ¡µã if (g_bDemAnalysising && (Button == 1)) { g_iDemPointNum++; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê double _ptLon = 0.0, _ptLat = 0.0; m_map.PixelToProj(x, y, &_ptLon, &_ptLat); @@ -2352,12 +2350,12 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) CString str; str.Format(_T("%d"), g_iDemPointNum); - //��ʾ�����ű�ע + //ÏÔʾµãµÄÐòºÅ±ê×¢ AddTextToPointShapeLayer(g_lDemPtNumLayerID[g_iDemPointNum-1], _ptLon, _ptLat, str, _T(""), RGB(255,0,0)); if (g_iDemPointNum >= g_iDemAltPtNum) { - BCGPMessageBox(_T("��ʱ��֧�����10����ĸ̷߳�����")); + BCGPMessageBox(_T("ÔÝʱ½öÖ§³Ö×î¶à10¸öµãµÄ¸ß³Ì·ÖÎö£¡")); g_bDemAnalysising = false; @@ -2370,7 +2368,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) } } - //ѡ������ + //Ñ¡Ôñµ¼Òýµã if (m_bGuideMode && (Button == 1)) { m_bGuideMode = false; @@ -2406,10 +2404,9 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) } -//���˫���¼� void CGISDlg::MouseDblClickMap1() { - //�����̷߳��� + //½áÊø¸ß³Ì·ÖÎö if (g_bDemAnalysising) { g_bDemAnalysising = false; @@ -2426,13 +2423,13 @@ void CGISDlg::MouseDblClickMap1() double dX = 0; double dY = 0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(GLOBAL_X,GLOBAL_Y, &dX, &dY); - //˫��ɾ������ + //Ë«»÷ɾ³ýº½µã if (m_bEditLine) { int ptSelected = GetPtSel(m_editLineDataGroup.pts,m_editLineDataGroup.pointNum,GLOBAL_X,GLOBAL_Y); - if (m_editLineDataGroup.lineID==11) //���պ�������1,4,5,6���� + if (m_editLineDataGroup.lineID==11) //»ØÊÕº½Ï߯Á±Î1,4,5,6º½µã { if (ptSelected==0 || (ptSelected>=m_editLineDataGroup.pointNum-3)) { @@ -2443,21 +2440,20 @@ void CGISDlg::MouseDblClickMap1() { if (m_distLabelLayer!=-1) { - m_map.ClearDrawing(m_distLabelLayer);//�������ͷ�λ�DZ�� + m_map.ClearDrawing(m_distLabelLayer);//Çå³ý¾àÀëºÍ·½Î»½Ç±ê»æ } RemovePointInLine(ptSelected,m_editLineDataGroup); - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(m_editLineDataGroup.lineID-1); - //��溽�� + //±ê»æº½Ïß DrawFlyLine(m_editLineDataGroup); } } /*********************************************************************************************/ - - if (g_b981APad) //ƽ��ģʽ˫�������� + if (g_b981APad) //ƽ°åģʽ˫»÷²â¾à½áÊø { if (m_bPolylineMeasure) { @@ -2467,7 +2463,6 @@ void CGISDlg::MouseDblClickMap1() } -// �����������ƶ��¼� void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) { if (Button == 2) @@ -2475,7 +2470,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) return; } - //��ʾ��γ������ʱ + //ÏÔʾ¾­Î³¶È×ø±êʱ if (m_bHaveShowLonLatDlg && m_pLonLatDlg ->GetAutoEditStatus()) { double dX = 0; @@ -2483,25 +2478,25 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) m_map.PixelToProj(x,y, &dX, &dY); - //����������ʾ + //Èí¼þ½çÃæÏÔʾ m_pLonLatDlg->SetLonLatInfo(dX, dY); } /*****************************************by Wu 2023.09.14*******************************************/ - //�༭����ʱ + //±à¼­º½Ïßʱ if (m_bEditLine && Button == 1) { double dX = 0; double dY = 0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &dX, &dY); if (m_iPtSel==-1) { return; } - if (m_editLineDataGroup.lineID==11) //���պ���1,4,5,6���ñ༭ + if (m_editLineDataGroup.lineID==11) //»ØÊÕº½Ïß1,4,5,6²»Èñ༭ { if (m_iPtSel==0 || (m_iPtSel>=m_editLineDataGroup.pointNum-3)) { @@ -2511,7 +2506,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) int n_pts = m_editLineDataGroup.pointNum; bool isClosedLine; - if (m_editLineDataGroup.pts[n_pts-1].ch1==2) //�DZպϺ��� + if (m_editLineDataGroup.pts[n_pts-1].ch1==2) //·Ç±ÕºÏº½Ïß { isClosedLine = false; } @@ -2525,28 +2520,28 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) m_editLineDataGroup.pts[m_iPtSel].dY = dY; m_editLineDataGroup.linePts[m_iPtSel].dX = dX; m_editLineDataGroup.linePts[m_iPtSel].dY = dY; - if (m_iPtSel==0 && isClosedLine) //ѡ�����ʱ����Ҫͬ���޸����յ������ + if (m_iPtSel==0 && isClosedLine) //Ñ¡ÖÐÆðµãʱ£¬ÐèҪͬ²½ÐÞ¸ÄÏßÖÕµãµÄ×ø±ê { int endpt = m_editLineDataGroup.linePointNum - 1; m_editLineDataGroup.linePts[endpt].dX = dX; m_editLineDataGroup.linePts[endpt].dY = dY; } - if (m_iPtSel==n_pts-1 && !isClosedLine) //�DZպϺ����յ� + if (m_iPtSel==n_pts-1 && !isClosedLine) //·Ç±ÕºÏº½ÏßÖÕµã { m_editLineDataGroup.linePts[n_pts].dX = dX; m_editLineDataGroup.linePts[n_pts].dY = dY; } - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(m_editLineDataGroup.lineID-1); - //��溽�� + //±ê»æº½Ïß DrawFlyLine(m_editLineDataGroup); - //��ק����ʱ��ʾ����ͷ�λ�� + //ÍÏ×§º½µãʱÏÔʾ¾àÀëºÍ·½Î»½Ç if (m_distLabelLayer!=-1) { m_map.ClearDrawing(m_distLabelLayer); } m_distLabelLayer = m_map.NewDrawing(1); - if (m_iPtSel==0)//ѡ����� + if (m_iPtSel==0)//Ñ¡ÖÐÆðµã { int endpt = m_editLineDataGroup.pointNum - 1; DrawDistLabelEx(m_distLabelLayer,m_editLineDataGroup.pts[m_iPtSel].dX,m_editLineDataGroup.pts[m_iPtSel].dY,m_editLineDataGroup.pts[m_iPtSel+1].dX,m_editLineDataGroup.pts[m_iPtSel+1].dY,0); @@ -2555,7 +2550,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) DrawDistLabelEx(m_distLabelLayer,m_editLineDataGroup.pts[m_iPtSel].dX,m_editLineDataGroup.pts[m_iPtSel].dY,m_editLineDataGroup.pts[endpt].dX,m_editLineDataGroup.pts[endpt].dY,0); } } - else if (m_iPtSel==m_editLineDataGroup.pointNum - 1) //ѡ���յ� + else if (m_iPtSel==m_editLineDataGroup.pointNum - 1) //Ñ¡ÖÐÖÕµã { DrawDistLabelEx(m_distLabelLayer,m_editLineDataGroup.pts[m_iPtSel].dX,m_editLineDataGroup.pts[m_iPtSel].dY,m_editLineDataGroup.pts[m_iPtSel-1].dX,m_editLineDataGroup.pts[m_iPtSel-1].dY,0); if (isClosedLine) @@ -2574,25 +2569,25 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) } /*****************************************************************************************************************/ - /*****************************************����� by Wu 2023.10.16************************************************/ + /*****************************************¶àµã²â¾à by Wu 2023.10.16************************************************/ if (m_bPolylineMeasure && m_bMeasureDrag) { double dX = 0; double dY = 0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &dX, &dY); - //ɾ���Ѿ�����ֱ�� + //ɾ³ýÒѾ­±ê»æµÄÖ±Ïß m_map.ClearDrawing(m_tempLayerID); - //�½���ʱ���ͼ�� + //н¨ÁÙʱ±ê»æÍ¼²ã m_tempLayerID = m_map.NewDrawing(1); - //����ֱ�� + //»æÖÆÖ±Ïß if (m_tempLayerID!=-1) { m_map.DrawLineEx(m_tempLayerID,m_posPolylineMeasurePts[m_numPolylineMeasurePts-1][0], m_posPolylineMeasurePts[m_numPolylineMeasurePts-1][1], dX, dY, 2, RGB(0,255,0)); - //��ʾ�߶εľ���ͷ�λ + //ÏÔʾÏ߶εľàÀëºÍ·½Î» DrawDistLabelEx(m_tempLayerID,m_posPolylineMeasurePts[m_numPolylineMeasurePts-1][0], m_posPolylineMeasurePts[m_numPolylineMeasurePts-1][1], dX, dY); } } @@ -2600,7 +2595,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) /****************************************************************************************************************/ - //�º������ʱ + //к½ÏßÉè¼ÆÊ± if (m_bHaveShowLineDesign) { double dX = 0; @@ -2608,20 +2603,20 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) m_map.PixelToProj(x,y, &dX, &dY); - //������ƶԻ�����ʾ��γ�� + //º½ÏßÉè¼Æ¶Ô»°¿òÏÔʾ¾­Î³¶È //m_pLineDesign->ShowLonLat(dX, dY); } - //�������ʱ + //º½ÏßÉè¼ÆÊ± if (m_bLineDesign) { double dX = 0; double dY = 0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &dX, &dY); - if (m_bPtEdit ) //���ں���༭ģʽʱ + if (m_bPtEdit ) //´¦ÓÚº½µã±à¼­Ä£Ê½Ê± { if (m_iPtSel==-1) { @@ -2633,10 +2628,10 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) DrawLineDesign(); return; - //�ж�����Ƿ�ѡ�д��༭�ĺ��� + //ÅжÏÊó±êÊÇ·ñÑ¡Öдý±à¼­µÄº½µã if (BeMouseClickedLinePoint(m_curEditLinePoint, x, y)) { - //�༭���� + //±à¼­º½µã m_pFlyLineDesign->EditPoint(dX, dY); } @@ -2645,49 +2640,49 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) if (m_bDesignFirstPoint) { - //������Ϣ��ֵ����ʾ������Ϣ���Լ��������ԭ��ľ���ͷ�λ�� + //º½¶ÎÐÅÏ¢¸³Öµ£¬ÏÔʾº½¶ÎÐÅÏ¢£¬ÒÔ¼°º½µã¾àÀëÔ­µãµÄ¾àÀëºÍ·½Î»½Ç m_pLineSectDlg->InputPointCoordinate(dX, dY); - //������ + //º½µã±àºÅ m_curDesignPoint.nPt = m_designLinePointNum+1; - //���㾭�� + //º½µã¾­¶È m_curDesignPoint.dX = dX; - //����� + //º½µãγ¶È m_curDesignPoint.dY = dY; - //���Ӻ��� + //Ôö¼Óº½µã m_pFlyLineDesign->AddPoint(m_curDesignPoint); return; } - //�Ѿ�������ʱ���ͼ��ʱ��ɾ����ͼ�㣬���±�ע + //ÒѾ­´æÔÚÁÙʱ±ê»æÍ¼²ãʱ£¬É¾³ý¸Ãͼ²ã£¬ÖØÐ±ê×¢ if (m_designLinePointNum>0 && m_beTemLayerDrawing) { - //������Ϣ��ֵ����ʾ������Ϣ���Լ��������ԭ��ľ���ͷ�λ�� + //º½¶ÎÐÅÏ¢¸³Öµ£¬ÏÔʾº½¶ÎÐÅÏ¢£¬ÒÔ¼°º½µã¾àÀëÔ­µãµÄ¾àÀëºÍ·½Î»½Ç m_pLineSectDlg->InputPointCoordinate(dX, dY); - //ɾ���Ѿ�����ֱ�� + //ɾ³ýÒѾ­±ê»æµÄÖ±Ïß m_map.ClearDrawing(m_tempLayerID); - //�½���ʱ���ͼ�� + //н¨ÁÙʱ±ê»æÍ¼²ã m_tempLayerID = m_map.NewDrawing(1); - //������ + //º½µã±àºÅ m_curDesignPoint.nPt = m_designLinePointNum+1; - //���㾭�� + //º½µã¾­¶È m_curDesignPoint.dX = dX; - //����� + //º½µãγ¶È m_curDesignPoint.dY = dY; - //���Ӻ��� + //Ôö¼Óº½µã m_pFlyLineDesign->AddPoint(m_curDesignPoint); - //����ֱ�� + //»æÖÆÖ±Ïß if (m_tempLayerID!=-1) { m_map.DrawLineEx(m_tempLayerID,m_pDesignLineStruct[m_designLinePointNum-1].dX, m_pDesignLineStruct[m_designLinePointNum-1].dY, dX, dY, 2, RGB(0,255,0)); @@ -2697,30 +2692,30 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) } } - //���ڿ���������Ի���ѡ��ģʽʱ��������괦��ѡ��ģʽ + //´¦ÓÚ¿ÉÊÓÓò·ÖÎö¶Ô»°¿òÑ¡µãģʽʱ£¬ÇÒÊó±ê¹â±ê´¦ÓÚÑ¡Ôñģʽ if (m_bSelectDropPoint && (m_map.GetCursorMode() == 3)) { double _ptLon = 0.0, _ptLat = 0.0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &_ptLon, &_ptLat); - //�����������Ϣ + //¸üÐÂ×ø±êµãÐÅÏ¢ if (m_pTargetDlg && m_pTargetDlg->GetSafeHwnd()) { m_pTargetDlg->ShowPointPosition(_ptLon,_ptLat); } } - //���ڿ���������Ի���ѡ��ģʽʱ��������괦��ѡ��ģʽ + //´¦ÓÚ¿ÉÊÓÓò·ÖÎö¶Ô»°¿òÑ¡µãģʽʱ£¬ÇÒÊó±ê¹â±ê´¦ÓÚÑ¡Ôñģʽ if (g_bSelectDropPoint && (m_map.GetCursorMode() == 3)) { double _ptLon = 0.0, _ptLat = 0.0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &_ptLon, &_ptLat); - //�����������Ϣ + //¸üÐÂ×ø±êµãÐÅÏ¢ if (m_dlgLightRegion.GetSafeHwnd()) { m_dlgLightRegion.ShowPointPosition(_ptLon,_ptLat); @@ -2739,15 +2734,15 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) CalculateTwoPtsDistanceAzimuth(_distance, _angle, m_dlgLightRegion.m_dGroundLon,m_dlgLightRegion.m_dGroundLat, _ptLon, _ptLat, 3); CString str; - str.Format(_T("D:%.1fkm A:%.1f��"), _distance/1000, _angle); + str.Format(_T("D:%.1fkm A:%.1f¡ã"), _distance/1000, _angle); if (m_longLabelPlotID != 0) { ClearPointShape(m_longLabelPlotID); m_longLabelPlotID = 0; } - //��ע����ͷ�λ - AddPointShapeLayer(m_longLabelPlotID,_ptLon, _ptLat, str, _T("��ɫ"), RGB(255,0,0)); + //±ê×¢¾àÀëºÍ·½Î» + AddPointShapeLayer(m_longLabelPlotID,_ptLon, _ptLat, str, _T("ºìÉ«"), RGB(255,0,0)); } if (g_bDemAnalysising && g_iDemPointNum>=1) @@ -2758,30 +2753,30 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) double _dis = 0; CalculateTwoPtsDistance(_dis, g_dDemPtLon[g_iDemPointNum-1], g_dDemPtLat[g_iDemPointNum-1], lon, lat, 3); - //���˵�����˫������ʱ�����һ���߶� + //¹ýÂ˵ôÓÉÓÚË«»÷½áÊøÊ±¶à³öµÄÒ»ÌõÏß¶Î if (_dis > 30) { m_map.RemoveLayer(g_lDemAltLayerID[g_iDemPointNum-1]); - //������ͼ�� + //´´½¨Ïßͼ²ã CreateEmptyShapfile(g_lDemAltLayerID[g_iDemPointNum-1], 1, RGB(0,0,255)); - //�����߶� + //»æÖÆÏß¶Î AddOnePoint2Shapfile(g_lDemAltLayerID[g_iDemPointNum-1], 1, g_dDemPtLon[g_iDemPointNum-1], g_dDemPtLat[g_iDemPointNum-1]); AddOnePoint2Shapfile(g_lDemAltLayerID[g_iDemPointNum-1], 1, lon, lat); - //��ʾ�߶εľ���ͷ�λ + //ÏÔʾÏ߶εľàÀëºÍ·½Î» DrawLineLabel(g_lDemAltDisLayerID[g_iDemPointNum-1], g_dDemPtLon[g_iDemPointNum-1], g_dDemPtLat[g_iDemPointNum-1], lon, lat); } } - //ѡ���ǵ�ʱ + //Ñ¡Ôñ±ê¼Çµãʱ if (g_bSelectMarker) { TRACE("g_bSelectMarker = true\n"); double _ptLon = 0.0, _ptLat = 0.0; - //��������ת��γ������ + //ÏñËØ×ø±êת¾­Î³¶È×ø±ê m_map.PixelToProj(x, y, &_ptLon, &_ptLat); m_dlgMarker.ShowMarkerCoordinate(_ptLon, _ptLat); @@ -2789,28 +2784,28 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) } } -//���ܣ����ڵ�ʸ��ͼ����Ŀ��� -//���룺��ͼ������drawLayerID -// �����꣬����lon, �lat -// ������strPtName -// �����ɫstrColor -// ���������ɫ��ֵfontColor +//¹¦ÄÜ£º»ùÓÚµãʸÁ¿Í¼²ã±ê»æÄ¿±êµã +//ÊäÈ룺µãͼ²ãÃû³ÆdrawLayerID +// µã×ø±ê£¬¾­¶Èlon, γ¶Èlat +// µãÃû³ÆstrPtName +// ±ê»æÑÕÉ«strColor +// ±ê»æ×ÖÌåÑÕÉ«ÊýÖµfontColor void CGISDlg::AddTextToPointShapeLayer(long &drawLayerID, const double lon, const double lat, const CString strPtName, const CString strColor, unsigned long fontColor) { - //�жϵ�ʸ��ͼ���Ƿ��Ѿ����ڣ�������ɾ�� + //ÅжϵãʸÁ¿Í¼²ãÊÇ·ñÒѾ­´æÔÚ£¬´æÔÚÔòɾ³ý if (drawLayerID > 0) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(drawLayerID); } - /////////////////////�½���ʸ��ͼ�����Ŀ��/////////////////////////////////// - //������ͼ�� + /////////////////////н¨µãʸÁ¿Í¼²ã±ê»æµãÄ¿±ê/////////////////////////////////// + //´´½¨µãͼ²ã CreateEmptyShapfile(drawLayerID, 0, RGB(0,255,0)); - /////////////////////��SHPͼ���м���Ŀ����ע��Ϣ/////////////////////////////// + /////////////////////ÍùSHPͼ²ãÖмÓÈëÄ¿±êµã±ê×¢ÐÅÏ¢/////////////////////////////// - //Label���� + //Label¼¯ºÏ CLabels labesPtr; labesPtr = (m_map.GetShapefile(drawLayerID)).GetLabels(); @@ -2821,17 +2816,17 @@ void CGISDlg::AddTextToPointShapeLayer(long &drawLayerID, const double lon, cons labelCategory.SetFontName(_T("Times New Roman")); labelCategory.SetFontSize(12); - //����Labels + //Ôö¼ÓLabels labesPtr.AddLabel(strPtName, lon+0.0002, lat+0.0002, 0, 0); - //���»��� + //ÖØÐ»æÖÆ m_map.Redraw(); } -//���ܣ���ʾ���������߶εľ���ͷ�λ +//¹¦ÄÜ£ºÏÔʾÁ½µãËùÁ¬Ï߶εľàÀëºÍ·½Î» void CGISDlg::DrawLineLabel(long &drawLayerID, const double ptLon1, const double ptLat1, const double ptLon2, const double ptLat2) { - //û�м��ص�ͼ������ + //ûÓмÓÔØµØÍ¼£¬·µ»Ø if (!m_bHaveAddMap) { return; @@ -2844,34 +2839,34 @@ void CGISDlg::DrawLineLabel(long &drawLayerID, const double ptLon1, const double if ( _dis < 1000) { - str.Format(_T("%.1fm/%.1f��"), _dis, _angle); + str.Format(_T("%.1fm/%.1f¡ã"), _dis, _angle); } else { - str.Format(_T("%.2fkm/%.1f��"), _dis*0.001,_angle); + str.Format(_T("%.2fkm/%.1f¡ã"), _dis*0.001,_angle); } - //������Ŀ��֮������λ�ù�ϵ�������ֱ�ע + //¸ù¾ÝÓëÄ¿±êÖ®¼äµÄÏà¶ÔλÖùØÏµ½øÐÐÎÄ×Ö±ê×¢ double textLon = 0; double textLat = 0; - //�����ע������ + //¼ÆËã±ê×¢µã×ø±ê TargetPos2LabelPos(textLon, textLat, (ptLon1 + ptLon2)/2, (ptLat1 + ptLat2)/2); - //�жϵ�ʸ��ͼ���Ƿ��Ѿ����ڣ�������ɾ�� + //ÅжϵãʸÁ¿Í¼²ãÊÇ·ñÒѾ­´æÔÚ£¬´æÔÚÔòɾ³ý if (drawLayerID > 0) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(drawLayerID); drawLayerID = -1; } if (_T("") != str) { - //������ͼ�� - CreateEmptyShapfile(drawLayerID, 0, RGB(255,0,0)); //��ɫ + //´´½¨µãͼ²ã + CreateEmptyShapfile(drawLayerID, 0, RGB(255,0,0)); //ºìÉ« - //Label���� + //Label¼¯ºÏ CLabels labesPtr; labesPtr = (m_map.GetShapefile(drawLayerID)).GetLabels(); @@ -2885,11 +2880,11 @@ void CGISDlg::DrawLineLabel(long &drawLayerID, const double ptLon1, const double labesPtr.AddLabel(str, textLon, textLat, 0, 0); } - //�ػ� + //ÖØ»æ m_map.Redraw(); } -//���ܣ���ʾ���������߶εľ���ͷ�λ +//¹¦ÄÜ£ºÏÔʾÁ½µãËùÁ¬Ï߶εľàÀëºÍ·½Î» void CGISDlg::DrawDistLabelEx(long drawLayerID, const double ptLon1, const double ptLat1, const double ptLon2, const double ptLat2,int pos) { double _dis, _angle; @@ -2898,35 +2893,35 @@ void CGISDlg::DrawDistLabelEx(long drawLayerID, const double ptLon1, const doubl CString str = _T(""); if ( _dis < 1000) { - str.Format(_T("%dm;%.1f��"), int(_dis), _angle); + str.Format(_T("%dm;%.1f¡ã"), int(_dis), _angle); } else { if(_dis<1000) { - str.Format(_T("%.2fkm;%.1f��"), _dis*0.001, _angle); + str.Format(_T("%.2fkm;%.1f¡ã"), _dis*0.001, _angle); } else { - str.Format(_T("%.2fkm;%.1f��"), _dis*0.001,_angle); + str.Format(_T("%.2fkm;%.1f¡ã"), _dis*0.001,_angle); } } - //������Ŀ��֮������λ�ù�ϵ�������ֱ�ע + //¸ù¾ÝÓëÄ¿±êÖ®¼äµÄÏà¶ÔλÖùØÏµ½øÐÐÎÄ×Ö±ê×¢ double textLon = 0; double textLat = 0; - //�����ע������ + //¼ÆËã±ê×¢µã×ø±ê //TargetPos2LabelPos(textLon, textLat, (ptLon1 + ptLon2)/2, (ptLat1 + ptLat2)/2); switch (pos) { - case -1://��˵� + case -1://×ó¶Ëµã TargetPos2LabelPos(textLon, textLat, ptLon1, ptLat1); break; - case 0://�м�˵� + case 0://Öмä¶Ëµã TargetPos2LabelPos(textLon, textLat, (ptLon1 + ptLon2)/2, (ptLat1 + ptLat2)/2); break; - case 1://�Ҷ˵� + case 1://ÓҶ˵ã TargetPos2LabelPos(textLon, textLat, ptLon2, ptLat2); break; } @@ -2935,14 +2930,14 @@ void CGISDlg::DrawDistLabelEx(long drawLayerID, const double ptLon1, const doubl //drawLabels.SetAvoidCollisions(false); /* CLabelCategory labelCategory = drawLabels.AddCategory(_T("dist")); - labelCategory.SetFontName(_T("����")); + labelCategory.SetFontName(_T("ºÚÌå")); labelCategory.SetFontSize(12); labelCategory.SetOffsetX(8); labelCategory.SetFrameVisible(true); labelCategory.SetFrameTransparency(180); */ - drawLabels.SetFontName(_T("����")); + drawLabels.SetFontName(_T("ºÚÌå")); //drawLabels.SetFontName(_T("Arial")); drawLabels.SetFontColor(RGB(220,220,220)); drawLabels.SetFontSize(12); @@ -2959,11 +2954,11 @@ void CGISDlg::DrawDistLabelEx(long drawLayerID, const double ptLon1, const doubl //drawLabels.AddLabel(str,textLon,textLat,_angle-90,0); drawLabels.AddLabel(str,textLon,textLat,0,0); - //�ػ� + //ÖØ»æ m_map.Redraw(); } -//����:��ʾ����֮��ľ���ͷ�λ +//¹¦ÄÜ:ÏÔʾº½µãÖ®¼äµÄ¾àÀëºÍ·½Î» void CGISDlg::DrawDistLabel(long drawLayerID,const double pts[][2], const int ptNum,int pos) { double _dis, _angle; @@ -2981,17 +2976,17 @@ void CGISDlg::DrawDistLabel(long drawLayerID,const double pts[][2], const int pt { if ( dist_total < 1000) { - str.Format(_T("%dm;%.1f��"), int(dist_total), _angle); + str.Format(_T("%dm;%.1f¡ã"), int(dist_total), _angle); } else { if(_dis<1000) { - str.Format(_T("%.2fkm;%.1f��"), dist_total*0.001, _angle); + str.Format(_T("%.2fkm;%.1f¡ã"), dist_total*0.001, _angle); } else { - str.Format(_T("%.2fkm;%.1f��"), dist_total*0.001,_angle); + str.Format(_T("%.2fkm;%.1f¡ã"), dist_total*0.001,_angle); } } } @@ -2999,42 +2994,42 @@ void CGISDlg::DrawDistLabel(long drawLayerID,const double pts[][2], const int pt { if ( dist_total < 1000) { - str.Format(_T("%dm(+%dm);%.1f��"), int(dist_total), int(_dis), _angle); + str.Format(_T("%dm(+%dm);%.1f¡ã"), int(dist_total), int(_dis), _angle); } else { if(_dis<1000) { - str.Format(_T("%.2fkm(+%dm);%.1f��"), dist_total*0.001, int(_dis), _angle); + str.Format(_T("%.2fkm(+%dm);%.1f¡ã"), dist_total*0.001, int(_dis), _angle); } else { - str.Format(_T("%.2fkm(+%.2fkm);%.1f��"), dist_total*0.001,_dis*0.001,_angle); + str.Format(_T("%.2fkm(+%.2fkm);%.1f¡ã"), dist_total*0.001,_dis*0.001,_angle); } } } - //������Ŀ��֮������λ�ù�ϵ�������ֱ�ע + //¸ù¾ÝÓëÄ¿±êÖ®¼äµÄÏà¶ÔλÖùØÏµ½øÐÐÎÄ×Ö±ê×¢ double textLon = 0; double textLat = 0; - //�����ע������ + //¼ÆËã±ê×¢µã×ø±ê switch (pos) { - case -1: //��˵� + case -1: //×ó¶Ëµã TargetPos2LabelPos(textLon, textLat, pts[i][0], pts[i][1]); break; - case 0: //�м� + case 0: //Öмä TargetPos2LabelPos(textLon, textLat, (pts[i][0] + pts[i+1][0])/2, (pts[i][1] + pts[i+1][1])/2); break; - case 1: //�Ҷ˵� + case 1: //ÓҶ˵ã TargetPos2LabelPos(textLon, textLat, pts[i+1][0], pts[i+1][1]); break; } CLabels drawLabels = m_map.GetDrawingLabels(drawLayerID); CLabelCategory labelCategory = drawLabels.AddCategory(_T("totaldist")); - labelCategory.SetFontName(_T("����")); + labelCategory.SetFontName(_T("ºÚÌå")); labelCategory.SetFontColor(RGB(220,220,220)); labelCategory.SetFontBold(true); labelCategory.SetFontSize(10); @@ -3053,13 +3048,13 @@ void CGISDlg::DrawDistLabel(long drawLayerID,const double pts[][2], const int pt drawLabels.AddLabel(str,textLon,textLat,0,0); } - //�ػ� + //ÖØ»æ m_map.Redraw(); //m_map.DrawLabelEx(drawLayerID,str,textLon,textLat,_angle); } } -//����:��ʾ����֮��ľ���ͷ�λ +//¹¦ÄÜ:ÏÔʾº½µãÖ®¼äµÄ¾àÀëºÍ·½Î» void CGISDlg::DrawDistLebel(long drawLayerID,const PtStruct *pts, const int ptNum) { double _dis, _angle; @@ -3077,17 +3072,17 @@ void CGISDlg::DrawDistLebel(long drawLayerID,const PtStruct *pts, const int ptNu { if ( dist_total < 1000) { - str.Format(_T("%dm;%.1f��"), int(dist_total), _angle); + str.Format(_T("%dm;%.1f¡ã"), int(dist_total), _angle); } else { if(_dis<1000) { - str.Format(_T("%.2fkm;%.1f��"), dist_total*0.001, _angle); + str.Format(_T("%.2fkm;%.1f¡ã"), dist_total*0.001, _angle); } else { - str.Format(_T("%.2fkm;%.1f��"), dist_total*0.001,_angle); + str.Format(_T("%.2fkm;%.1f¡ã"), dist_total*0.001,_angle); } } } @@ -3095,31 +3090,31 @@ void CGISDlg::DrawDistLebel(long drawLayerID,const PtStruct *pts, const int ptNu { if ( dist_total < 1000) { - str.Format(_T("%dm(+%dm);%.1f��"), int(dist_total), int(_dis), _angle); + str.Format(_T("%dm(+%dm);%.1f¡ã"), int(dist_total), int(_dis), _angle); } else { if(_dis<1000) { - str.Format(_T("%.2fkm(+%.dm);%.1f��"), dist_total*0.001, int(_dis), _angle); + str.Format(_T("%.2fkm(+%.dm);%.1f¡ã"), dist_total*0.001, int(_dis), _angle); } else { - str.Format(_T("%.2fkm(+%.2fkm);%.1f��"), dist_total*0.001,_dis*0.001,_angle); + str.Format(_T("%.2fkm(+%.2fkm);%.1f¡ã"), dist_total*0.001,_dis*0.001,_angle); } } } - //������Ŀ��֮������λ�ù�ϵ�������ֱ�ע + //¸ù¾ÝÓëÄ¿±êÖ®¼äµÄÏà¶ÔλÖùØÏµ½øÐÐÎÄ×Ö±ê×¢ double textLon = 0; double textLat = 0; - //�����ע������ + //¼ÆËã±ê×¢µã×ø±ê TargetPos2LabelPos(textLon, textLat, (pts[i].dX + pts[i+1].dX)/2, (pts[i].dY + pts[i+1].dY)/2); CLabels drawLabels = m_map.GetDrawingLabels(drawLayerID); CLabelCategory labelCategory = drawLabels.AddCategory(_T("totaldist")); - labelCategory.SetFontName(_T("����")); + labelCategory.SetFontName(_T("ºÚÌå")); labelCategory.SetFontColor(RGB(220,220,220)); labelCategory.SetFontBold(true); labelCategory.SetFontSize(12); @@ -3130,13 +3125,13 @@ void CGISDlg::DrawDistLebel(long drawLayerID,const PtStruct *pts, const int ptNu labelCategory.SetFrameOutlineColor(RGB(50,50,50)); drawLabels.AddLabel(str,textLon,textLat,_angle-90,0); - //�ػ� + //ÖØ»æ m_map.Redraw(); //m_map.DrawLabelEx(drawLayerID,str,textLon,textLat,_angle); } } -//��������� +//Çå³ý¶àµã²âÁ¿ void CGISDlg::ClearPloylineMeasure() { m_map.RemoveLayer(m_polylineMeasureLineLayerID); @@ -3153,7 +3148,7 @@ void CGISDlg::ClearPloylineMeasure() m_map.Redraw(); } -//���ܣ��ر���ʾ���ȡ�γ�ȵ��������� +//¹¦ÄÜ£º¹Ø±ÕÏÔʾ¾­¶È¡¢Î³¶ÈµÄÈí¼þ½çÃæ LRESULT CGISDlg::OnCloseLonLatDialog(WPARAM wParam, LPARAM lParam) { OnShowLonLatInfo(); @@ -3163,7 +3158,7 @@ LRESULT CGISDlg::OnCloseLonLatDialog(WPARAM wParam, LPARAM lParam) -//���ܣ��ر���ʾ2��֮��ľ�γ��������������� +//¹¦ÄÜ£º¹Ø±ÕÏÔʾ2µãÖ®¼äµÄ¾­Î³¶È×ø±êµÄÈí¼þ½çÃæ LRESULT CGISDlg::OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam) { OnSurvey(); @@ -3172,14 +3167,14 @@ LRESULT CGISDlg::OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam) } -//���ܣ����к�����ƣ������������ݶԻ��� +//¹¦ÄÜ£º½øÐк½ÏßÉè¼Æ£¬µ¯³öº½ÏßÊý¾Ý¶Ô»°¿ò void CGISDlg::OnFlyLineDesign() { //return; - //�Ѿ����ص�ͼ + //ÒѾ­¼ÓÔØµØÍ¼ if (m_bHaveAddMap) { - //�Ѿ����ں������״̬ʱ������ + //ÒѾ­´¦ÓÚº½ÏßÉè¼Æ×´Ì¬Ê±£¬·µ»Ø if (m_bLineDesign) { return; @@ -3188,46 +3183,45 @@ void CGISDlg::OnFlyLineDesign() { m_bLineDesign = true; - //��Ƶ�һ������ + //Éè¼ÆµÚÒ»¸öº½µã m_bDesignFirstPoint = true; } - //������еĺ������� + //Çå³ýÏÖÓеĺ½ÏßÊý¾Ý m_pFlyLineDesign->ClearCurrentData(); - //��ʾ������ƶԻ��� + //ÏÔʾº½ÏßÉè¼Æ¶Ô»°¿ò //m_pFlyLineDesign->ShowWindow(SW_SHOW); - //��ʾ���� + //ÏÔʾÈí¼þ //m_pLineSectDlg->ShowWindow(SW_SHOW); - //�������Ϊ��ѡ����ʽ + //ÉèÖÃÊó±êΪ¡°Ñ¡Ôñ¡±Ñùʽ m_map.SetCursorMode(3); } else { - AfxMessageBox(_T("���ȼ��ص�ͼ���ݣ�")); + AfxMessageBox(_T("ÇëÏȼÓÔØµØÍ¼Êý¾Ý£¡")); } } -//���ܣ�����GIS����ʾ���� -void CGISDlg::SetGISWindowArea(const CRect gisArea)//������������ΪGIS�Ի������Ļ�������� +//¹¦ÄÜ£ºÉèÖÃGISµÄÏÔÊ¾ÇøÓò +void CGISDlg::SetGISWindowArea(const CRect gisArea)//´«½øÀ´µÄÇøÓòΪGIS¶Ô»°¿òµÄÆÁÄ»×ø±êÇøÓò { - //������ȫ��Ļ�е�GIS��ʾ���� + //ÔÚÕû¸öÈ«ÆÁÄ»ÖеÄGISÏÔÊ¾ÇøÓò m_rcGISArea = gisArea; } -//���ܣ���ʾGIS�Ի������� +//¹¦ÄÜ£ºÏÔʾGIS¶Ô»°¿òÇøÓò void ShowDlg(const CRect rc, CWnd* pParent) { //pParent->Create(IDD_DIALOG1,pParent); } - -//���ܣ��������ڱ�����˻���18�������� +//¹¦ÄÜ£º¼ÆËãÓÃÓÚ±ê»æÎÞÈË»úµÄ18¸öµã×ø±ê void CGISDlg::CalculateUAVPolygonCoordinate(const double dX, const double dY, const double yaw) { double pixelX = 0; @@ -3235,22 +3229,22 @@ void CGISDlg::CalculateUAVPolygonCoordinate(const double dX, const double dY, co m_map.ProjToPixel(dX, dY, &pixelX, &pixelY); - // ���ɻ� - //������ + // »­·É»ú + //²ÉÓôź½Ïò½Ç double sinang = sin(yaw * DEG2RAD); double cosang = cos(yaw * DEG2RAD); - //��ת����������� + //ÐýתºóµÄÏñËØ×ø±ê double rotatePixelX = 0; double rotatePixelY = 0; - //���㾭��������ת��ƽ�ƺ�����˻����� - for(int k=0; kShowWindow(SW_HIDE); return 0; } -//���ܣ�ɾ��������Ƶ����ݣ������������ݺͺ��߱������ +//¹¦ÄÜ£ºÉ¾³ýº½ÏßÉè¼ÆµÄÊý¾Ý£¬°üÀ¨º½ÏßÊý¾ÝºÍº½Ïß±ê»æÊý¾Ý void CGISDlg::RemoveDesignLineData() { - //��Ƶĺ����������0ʱ + //Éè¼ÆµÄº½µã¸öÊý´óÓÚ0ʱ if (m_designLinePointNum > 0) { m_designLinePointNum = 0; - //����������ʱ�����ı����Ϣ + //Çå³ýº½ÏßÉè¼ÆÊ±²úÉúµÄ±ê»æÐÅÏ¢ ClearDrawingInLineDesign(); //m_map.RedrawWindow(m_designLineLayerID2); } } -//���ܣ�����������ʱ�������� +//¹¦ÄÜ£ºÇå³ýº½ÏßÉè¼ÆÊ±±ê»æµÄÊý¾Ý void CGISDlg::ClearDrawingInLineDesign() { - /////////////����������///////////// + /////////////Çå³ý±ê»æÊý¾Ý///////////// - //ɾ���Ѿ�����ֱ�� + //ɾ³ýÒѾ­±ê»æµÄÖ±Ïß m_map.ClearDrawing(m_tempLayerID); m_map.ClearDrawing(m_designLineLayerID); if (m_designLineLayerID2 != -1) @@ -3326,7 +3320,7 @@ void CGISDlg::ClearDrawingInLineDesign() m_map.ClearLabels(m_designLineLayerID); } -// �����ֹ����¼� + void CGISDlg::MouseWheel(short zDelta) { m_bSetPointModel=FALSE; @@ -3340,17 +3334,19 @@ void CGISDlg::MouseWheel(short zDelta) m_bPtEdit=FALSE; if (m_bHaveAddMap) { - //���ַŴ���С + //¹öÂÖ·Å´ó¡¢ËõС m_map.ZoomIn(0.0005 * zDelta); } } -//���ܣ�����Ŀ��㣬�ڵ�ͼ��ʾ�������� -//���룺Ŀ����nPt������dX���dY + + +//¹¦ÄÜ£ºÔö¼ÓÄ¿±êµã£¬ÔÚµØÍ¼ÏÔÊ¾Çø±ê»æ³öÀ´ +//ÊäÈ룺Ŀ±êµãºÅnPt£¬¾­¶ÈdX£¬Î³¶ÈdY void CGISDlg::AddTargetPoint(const int nPt, const double dX, const double dY) { - //û�м��ص�ͼ + //ûÓмÓÔØµØÍ¼ if (!m_bHaveAddMap) { return; @@ -3359,17 +3355,17 @@ void CGISDlg::AddTargetPoint(const int nPt, const double dX, const double dY) CString str; str.Format(_T("Target%d"), nPt); - //��������ɫ - CString strColor = _T("��ɫ"); + //×ÖÌå±ê»æÑÕÉ« + CString strColor = _T("ÂÌÉ«"); - //���ڵ�ͼ����б�ע + //»ùÓÚµãͼ²ã½øÐбê×¢ AddPointShapeLayer(m_targetDrawLayerID, dX, dY, str, strColor, RGB(0,255,0)); } -//���ܣ���ʸ��ͼ���ж�̬�������˻� -//���룺����dX���dY,�����yaw -//˵��������ר�����ڻ������˻���ʸ����ͼ�㣬ÿ����ɾ���ϴα���Shp�������±�� +//¹¦ÄÜ£ºÔÚʸÁ¿Í¼²ãÖж¯Ì¬±ê»æ³öÎÞÈË»ú +//ÊäÈ룺¾­¶ÈdX£¬Î³¶ÈdY,º½Ïò½Çyaw +//˵Ã÷£º´´½¨×¨ÃÅÓÃÓÚ»æÖÆÎÞÈË»úµÄʸÁ¿ÃæÍ¼²ã£¬Ã¿´ÎÏÈɾ³ýÉÏ´Î±ê»æµÄShp£¬ÔÙÖØÐ屐Ⱦ void CGISDlg::DrawUAV(int uavid, const double dX, const double dY, const double yaw,bool control) { if (uavid<0||uavid>2) @@ -3378,35 +3374,35 @@ void CGISDlg::DrawUAV(int uavid, const double dX, const double dY, const double } //2017.03 by ZCW /* - //��һ�α�溽�����½����ͼ�� + //µÚÒ»´Î±ê»æº½¼££¬Ð½¨±ê»æÍ¼²ã if (!m_bFirstDrawUAVTrack) { - //�������˻��켣�߱��ͼ�� + //´´½¨ÎÞÈË»ú¹ì¼£Ïß±ê»æÍ¼²ã CreateEmptyShapfile(m_flyTrackLayerID, 1, RGB(255,0,0)); - //�������˻�������ͼ�� + //´´½¨ÎÞÈË»ú»úÌå±ê»æÍ¼²ã CreateEmptyShapfile(m_UAVFlyTrackLayerID, 2, RGB(255,0,0)); m_bFirstDrawUAVTrack = true; } else { - //���������˻��Ĺ켣 + //Çå³ý±ê»æÎÞÈË»úµÄ¹ì¼£ m_map.RemoveLayer(m_UAVFlyTrackLayerID); - //�������˻�������ͼ�� + //´´½¨ÎÞÈË»ú»úÌå±ê»æÍ¼²ã CreateEmptyShapfile(m_UAVFlyTrackLayerID, 2, RGB(255,0,0)); } - //�������˻��켣�� + //Ôö¼ÓÎÞÈË»ú¹ì¼£µã AddOnePoint2Shapfile(m_flyTrackLayerID, 1, dX, dY); - //���������˻���ͼ��ĵ����� + //¼ÆËã±ê»æÎÞÈË»úÃæÍ¼²ãµÄµãÊý×é CalculateUAVPolygonCoordinate(dX, dY, yaw); // AddUAVPoints2Polygon(m_UAVFlyTrackLayerID); - //�����µ����˻�shp + //»æÖÆÐµÄÎÞÈË»úshp for (int i=0; iTrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, this ); } @@ -3534,7 +3529,7 @@ void CGISDlg::OnShowCtrlMenu() void CGISDlg::OnMenuLinePtCtrlShow() { - //����Ҽ����ʱ��������ݲ˵� + //Êó±êÓÒ¼üµã»÷ʱ£¬µ¯³ö¿ì½Ý²Ëµ¥ if (g_b981APad) { OnShowRMenu(); @@ -3558,57 +3553,56 @@ BOOL CGISDlg::OnToolTipsNotify(UINT id,NMHDR* pNMHDR,LRESULT* pResult) switch (nID) { case IDT_BUTTON1: - pT->lpszText = "����ʸ����ͼ"; + pT->lpszText = "Ìí¼ÓʸÁ¿µØÍ¼"; break; case IDT_BUTTON2: - pT->lpszText = "����դ���ͼ"; + pT->lpszText = "Ìí¼ÓÕ¤¸ñµØÍ¼"; break; case IDT_BUTTON3: - pT->lpszText = "���Ӻ���"; + pT->lpszText = "Ìí¼Óº½Ïß"; break; case IDT_BUTTON4: - pT->lpszText = "ͼ�����"; + pT->lpszText = "ͼ²ã¹ÜÀí"; break; case IDT_BUTTON5: - pT->lpszText = "ɾ��ȫ��ͼ��"; + pT->lpszText = "ɾ³ýÈ«²¿Í¼²ã"; break; case IDT_BUTTON6: - pT->lpszText = "��ͼѡ��"; + pT->lpszText = "µØÍ¼Ñ¡Ôñ"; break; case IDT_BUTTON7: - pT->lpszText = "�Ŵ�"; + pT->lpszText = "·Å´ó"; break; case IDT_BUTTON8: - pT->lpszText = "��С"; + pT->lpszText = "ËõС"; break; case IDT_BUTTON9: - pT->lpszText = "����"; + pT->lpszText = "ÂþÓÎ"; break; case IDT_BUTTON10: pT->lpszText = "ȫͼ"; break; case IDT_BUTTON11: - pT->lpszText = "�������"; + pT->lpszText = "Çå³ýº½¼£"; break; case IDT_BUTTON12: - pT->lpszText = "��ͼ��λ"; + pT->lpszText = "µØÍ¼¶¨Î»"; break; case IDT_BUTTON13: - pT->lpszText = "����"; + pT->lpszText = "²âÁ¿"; break; case IDT_BUTTON14: - pT->lpszText = "����"; + pT->lpszText = "ÊôÐÔ"; break; default: pT->lpszText =""; } return true; } - -//���ܣ�ɾ������ID�ŵ�Ŀ��� +//¹¦ÄÜ£ºÉ¾³ý¸ø¶¨IDºÅµÄÄ¿±êµã void CGISDlg::DeleteTarget(const int nPt) { - //�жϸ�����Ŀ�����Ƿ�Ϸ� + //Åжϸø¶¨µÄÄ¿±êµãºÅÊÇ·ñºÏ·¨ //if (nPt >= MAX_TARGET_NUM) //{ // return; @@ -3616,25 +3610,25 @@ void CGISDlg::DeleteTarget(const int nPt) //int i = nPt-1; - ////ɾ�����б�ע��Ŀ�����Ϣ + ////ɾ³ýËùÓбê×¢µÄÄ¿±êµãÐÅÏ¢ //if (m_pTargetShapfileID[i] != 0) //{ - // //�жϵ�ʸ��ͼ���Ƿ��Ѿ����ڣ�������ɾ�� + // //ÅжϵãʸÁ¿Í¼²ãÊÇ·ñÒѾ­´æÔÚ£¬´æÔÚÔòɾ³ý // ClearPointShape(m_pTargetShapfileID[i]); // m_pTargetShapfileID[i] = 0; //} } -//���ܣ�ɾ������Ŀ��� +//¹¦ÄÜ£ºÉ¾³ýËùÓÐÄ¿±êµã void CGISDlg::DeleteAllTargets() { - //ɾ�����б�ע��Ŀ�����Ϣ + //ɾ³ýËùÓбê×¢µÄÄ¿±êµãÐÅÏ¢ //for (int i=0; iSetLineSectStatus(); return 0; } -//���ܣ������Ƶĺ������ݣ��������㼰���ע���������� +//¹¦ÄÜ£º±ê»æÉè¼ÆµÄº½ÏßÊý¾Ý£¬°üÀ¨º½µã¼°Æä±ê×¢¡¢º½ÏßÊý¾Ý void CGISDlg::DrawDesignLineData() { - //�½����� + //н¨±ê»æ²ã if (m_designLineLayerID2!=-1) { m_map.RemoveLayer(m_designLineLayerID2); @@ -3779,7 +3773,7 @@ void CGISDlg::DrawDesignLineData() BOOL b= m_map.MoveLayerUp(index); int i = 0; - //���ƺ��㼰���ע + //»æÖƺ½µã¼°Æä±ê×¢ for (i=0; i (m_designLinePointNum-1)) || (deletePtID<0)) @@ -3846,66 +3841,70 @@ LRESULT CGISDlg::OnDeleteLinePoint(WPARAM wParam, LPARAM lParam) return 0; } - //����ɾ����ĵ�ţ����º������ݼ��� + //¸ù¾Ýɾ³ýµãµÄµãºÅ£¬¸üк½µãÊý¾Ý¼¯ºÏ for (int i=deletePtID; iShowWindow(SW_HIDE); return 0; } -//���ܣ������յ�shpfileͼ�� -//���룺ʸ��ͼ������shpType��0Ϊ����ͼ�㣻1Ϊ��ͼ�㣻2Ϊ��ͼ�㣩 -//���룺������ɫdrawColor -//�����ʸ��ͼ��ID��shpLayerID�� + + + +//¹¦ÄÜ£º´´½¨¿ÕµÄshpfileͼ²ã +//ÊäÈ룺ʸÁ¿Í¼²ãÀàÐÍshpType£¨0Ϊ¡ªµãͼ²ã£»1ΪÏßͼ²ã£»2ÎªÃæÍ¼²ã£© +//ÊäÈ룺»æÖÆÑÕÉ«drawColor +//Êä³ö£ºÊ¸Á¿Í¼²ãIDºÅshpLayerID£¬ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const unsigned long drawColor) { long fieldIndex = 0; - //Ŀ����SHPͼ�� + //Ä¿±ê±ê»æSHPͼ²ã mapWindow::IShapefilePtr targetPtShape; targetPtShape.CreateInstance("MapWinGIS.Shapefile"); - //�����յ�ͼ�� - if (shpType == 0) //��ͼ�� + //´´½¨¿ÕµÄͼ²ã + if (shpType == 0) //µãͼ²ã { targetPtShape->CreateNewWithShapeID(_T(""), mapWindow::SHP_POINT); } - else if (shpType == 1) //��ͼ�� + else if (shpType == 1) //Ïßͼ²ã { targetPtShape->CreateNewWithShapeID(_T(""), mapWindow::SHP_POLYLINE); } - else if (shpType == 2) //��ͼ�� + else if (shpType == 2) //ÃæÍ¼²ã { targetPtShape->CreateNewWithShapeID(_T(""), mapWindow::SHP_POLYGON); } @@ -3915,7 +3914,7 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns return; } - //����field����1 + //Ôö¼Ófield±íµ¥1 mapWindow::IFieldPtr fieldPtr1; fieldPtr1.CreateInstance("MapWinGIS.Field"); @@ -3923,7 +3922,7 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns fieldPtr1->Type = mapWindow::DOUBLE_FIELD; targetPtShape->EditInsertField(fieldPtr1, &fieldIndex, NULL); - //����field����2 + //Ôö¼Ófield±íµ¥2 mapWindow::IFieldPtr fieldPtr2; fieldPtr2.CreateInstance("MapWinGIS.Field"); @@ -3931,13 +3930,13 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns fieldPtr2->Type = mapWindow::DOUBLE_FIELD; targetPtShape->EditInsertField(fieldPtr2, &fieldIndex, NULL); - //Ŀ����ͼ������ͼ�� + //Ä¿±ê±ê»æÍ¼²ã¼ÓÈëµØÍ¼ÖÐ shpLayerID = m_map.AddLayer(targetPtShape, true); mapWindow::IShapeDrawingOptionsPtr pShapeDrawingOption; pShapeDrawingOption.CreateInstance("MapWinGIS.ShapeDrawingOptions"); - if (shpType == 0) //��ͼ�� + if (shpType == 0) //µãͼ²ã { pShapeDrawingOption->FillColor = drawColor; pShapeDrawingOption->PointSize = 20; @@ -3950,12 +3949,12 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns //m_map.SetShapeLayerPointType(shpLayerID, mapWindow::ptDiamond); //m_map.SetShapeLayerStippleColor(shpLayerID, drawColor); } - else if (shpType == 1) //��ͼ�� + else if (shpType == 1) //Ïßͼ²ã { pShapeDrawingOption->LineColor = drawColor; pShapeDrawingOption->LineWidth = 2; } - else if (shpType == 2) //��ͼ�� + else if (shpType == 2) //ÃæÍ¼²ã { pShapeDrawingOption->FillColor = drawColor; } @@ -3964,9 +3963,9 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns } -//���ܣ���shpfile��ͼ�������Ӻ������� -//���룺ʸ��ͼ��ID��shpLayerID -// �������ݼ���pts���������ptNum +//¹¦ÄÜ£ºÏòshpfileµãͼ²ãÖÐÔö¼Óº½µãÊý¾Ý +//ÊäÈ룺ʸÁ¿Í¼²ãIDºÅshpLayerID +// º½µãÊý¾Ý¼¯ºÏpts£¬º½µã¸öÊýptNum void CGISDlg::AddPoints2PointShapfile(const long shpLayerID, const PtStruct *pts, const int ptNum) { for (long i=0; iCreate(mapWindow::SHP_POINT); - //���� + //¾­¶È pintPtr->x = pts[i].dX; - //� + //γ¶È pintPtr->y = pts[i].dY; shapePtr->InsertPoint(pintPtr, &i); - //������ʸ�� + //²åÈëÃæÊ¸Á¿ (m_map.GetShapefile(shpLayerID)).EditInsertShape(shapePtr, &i); } } -//���ܣ���shpfile��ͼ�������Ӻ������� -//���룺ʸ��ͼ��ID��shpLayerID -// �������ݼ���pts���������ptNum +//¹¦ÄÜ£ºÏòshpfileÏßͼ²ãÖÐÔö¼Óº½µãÊý¾Ý +//ÊäÈ룺ʸÁ¿Í¼²ãIDºÅshpLayerID +// º½µãÊý¾Ý¼¯ºÏpts£¬º½µã¸öÊýptNum void CGISDlg::AddPoints2LineShapfile(const long shpLayerID, const PtStruct *pts, const int ptNum) { mapWindow::IShapePtr shapePtr; shapePtr.CreateInstance("MapWinGIS.Shape"); - //������ʸ��shapfile + //´´½¨ÏßʸÁ¿shapfile shapePtr->Create(mapWindow::SHP_POLYLINE); long i = 0; @@ -4013,29 +4012,29 @@ void CGISDlg::AddPoints2LineShapfile(const long shpLayerID, const PtStruct *pts, mapWindow::IPointPtr pintPtr; pintPtr.CreateInstance("MapWinGIS.Point"); - //���� + //¾­¶È pintPtr->x = pts[i].dX; - //� + //γ¶È pintPtr->y = pts[i].dY; shapePtr->InsertPoint(pintPtr, &i); } - //������ͼ��ʸ�� + //²åÈëÏßͼ²ãʸÁ¿ (m_map.GetShapefile(shpLayerID)).EditInsertShape(shapePtr, &i); } -//���ܣ���shpfileͼ�������Ӻ������� -//���룺ʸ��ͼ��ID��shpLayerID��ʸ��ͼ������shpType��0Ϊ����ͼ�㣻1Ϊ��ͼ�㣻2Ϊ��ͼ�㣩 -// �������ݼ���pts���������ptNum +//¹¦ÄÜ£ºÏòshpfileͼ²ãÖÐÔö¼Óº½µãÊý¾Ý +//ÊäÈ룺ʸÁ¿Í¼²ãIDºÅshpLayerID£¬Ê¸Á¿Í¼²ãÀàÐÍshpType£¨0Ϊ¡ªµãͼ²ã£»1ΪÏßͼ²ã£»2ÎªÃæÍ¼²ã£© +// º½µãÊý¾Ý¼¯ºÏpts£¬º½µã¸öÊýptNum void CGISDlg::AddPoints2Shapfile(const long shpLayerID, const int shpType, const PtStruct *pts, const int ptNum) { long i = 0; - //���ͼ���м��뺽������ - if (shpType == 0) //��ͼ�� + //Ïòµãͼ²ãÖмÓÈ뺽µãÊý¾Ý + if (shpType == 0) //µãͼ²ã { for (i=0; iCreate(mapWindow::SHP_POINT); - //���� + //¾­¶È pintPtr->x = pts[i].dX; - //� + //γ¶È pintPtr->y = pts[i].dY; shapePtr->InsertPoint(pintPtr, &i); - //������ʸ�� + //²åÈëÃæÊ¸Á¿ (m_map.GetShapefile(shpLayerID)).EditInsertShape(shapePtr, &i); } } - else if ((shpType == 1) || (shpType == 2)) //��ͼ�����ͼ�� + else if ((shpType == 1) || (shpType == 2)) //Ïßͼ²ãºÍÃæÍ¼²ã { mapWindow::IShapePtr shapePtr; shapePtr.CreateInstance("MapWinGIS.Shape"); - //����shp - if (shpType == 1) //��ʸ�� + //´´½¨shp + if (shpType == 1) //ÏßʸÁ¿ { shapePtr->Create(mapWindow::SHP_POLYLINE); } - else //��ʸ�� + else //ÃæÊ¸Á¿ { shapePtr->Create(mapWindow::SHP_POLYGON); } @@ -4079,25 +4078,25 @@ void CGISDlg::AddPoints2Shapfile(const long shpLayerID, const int shpType, const mapWindow::IPointPtr pintPtr; pintPtr.CreateInstance("MapWinGIS.Point"); - //���� + //¾­¶È pintPtr->x = pts[i].dX; - //� + //γ¶È pintPtr->y = pts[i].dY; shapePtr->InsertPoint(pintPtr, &i); } - //������ʸ�� + //²åÈëÃæÊ¸Á¿ (m_map.GetShapefile(shpLayerID)).EditInsertShape(shapePtr, &i); } } -//���ܣ�����shpfile��ͼ���淽������UAV +//¹¦ÄÜ£º»ùÓÚshpfileÃæÍ¼²ã±ê»æ·½·¨»æÖÆUAV void CGISDlg::AddUAVPoints2Polygon(const long shpLayerID) { - //������ͼ�� + //´´½¨ÃæÍ¼²ã mapWindow::IShapePtr shapePtr; shapePtr.CreateInstance("MapWinGIS.Shape"); shapePtr->Create(mapWindow::SHP_POLYGON); @@ -4109,13 +4108,13 @@ void CGISDlg::AddUAVPoints2Polygon(const long shpLayerID) mapWindow::IPointPtr pintPtr; pintPtr.CreateInstance("MapWinGIS.Point"); - //���� + //¾­¶È pintPtr->x = m_ppUavPtArray[i][0]; - //� + //γ¶È pintPtr->y = m_ppUavPtArray[i][1]; - //��ǰshp�в���һ���������� + //Ïòµ±Ç°shpÖвåÈëÒ»¸öº½µãÊý¾Ý shapePtr->InsertPoint(pintPtr, &shpNum); } @@ -4123,71 +4122,72 @@ void CGISDlg::AddUAVPoints2Polygon(const long shpLayerID) (m_map.GetShapefile(shpLayerID)).EditClear(); - //��shpfile�ļ��в���shp�ļ� + //½«shpfileÎļþÖвåÈëshpÎļþ (m_map.GetShapefile(shpLayerID)).EditInsertShape(shapePtr, &shpNum); } -//���ܣ���shpfileͼ��������1���������� -//���룺ʸ��ͼ��ID��shpLayerID��shp����shpType -// �������ݣ����ȡ�dX; γ�ȡ�dY +//¹¦ÄÜ£ºÏòshpfileͼ²ãÖÐÔö¼Ó1¸öº½µãÊý¾Ý +//ÊäÈ룺ʸÁ¿Í¼²ãIDºÅshpLayerID£¬shpÀàÐÍshpType +// º½µãÊý¾Ý£¬¾­¶È¡ªdX; γ¶È¡ªdY void CGISDlg::AddOnePoint2Shapfile(const long shpLayerID, const int shpType, const double dX, const double dY) { mapWindow::IPointPtr pintPtr; pintPtr.CreateInstance("MapWinGIS.Point"); - //���� + //¾­¶È pintPtr->x = dX; - //� + //γ¶È pintPtr->y = dY; - //shpfile�ļ��е�shpͼ����� + //shpfileÎļþÖеÄshpͼ²ã¸öÊý long shpNum = (m_map.GetShapefile(shpLayerID)).GetNumShapes(); - //�ж��Ƿ��Ѿ����ڸ�shpͼ�㣬�����ڣ������µ�shpͼ�� + //ÅжÏÊÇ·ñÒѾ­´æÔÚ¸Ãshpͼ²ã£¬²»´æÔÚ£¬´´½¨ÐµÄshpͼ²ã if (shpNum == 0) { mapWindow::IShapePtr shapePtr; shapePtr.CreateInstance("MapWinGIS.Shape"); - if (shpType == 0) //��ͼ�� + if (shpType == 0) //µãͼ²ã { shapePtr->Create(mapWindow::SHP_POINT); } - else if (shpType == 1) //��ͼ�� + else if (shpType == 1) //Ïßͼ²ã { shapePtr->Create(mapWindow::SHP_POLYLINE); } - else if (shpType == 2) //��ͼ�� + else if (shpType == 2) //ÃæÍ¼²ã { shapePtr->Create(mapWindow::SHP_POLYGON); } - //��ǰshp�в���һ���������� + //Ïòµ±Ç°shpÖвåÈëÒ»¸öº½µãÊý¾Ý shapePtr->InsertPoint(pintPtr, &shpNum); - //��shpfile�ļ��в���shp�ļ� + //½«shpfileÎļþÖвåÈëshpÎļþ (m_map.GetShapefile(shpLayerID)).EditInsertShape(shapePtr, &shpNum); } else { - //��õ�ǰ��shp + //»ñµÃµ±Ç°µÄshp CShape shape = (m_map.GetShapefile(shpLayerID)).GetShape(shpNum-1); - //��ǰ�ĺ������ + //µ±Ç°µÄº½µã¸öÊý long curLinePts = shape.GetNumPoints(); - //��ǰshp�в���һ���������� + //Ïòµ±Ç°shpÖвåÈëÒ»¸öº½µãÊý¾Ý shape.InsertPoint(pintPtr, &curLinePts); } } -//���ܣ��ڵ�ͼ��ʾ������װ���ķ��к������� -//���룺���������弯��linePtArray�����ߵĺ������ptNum -//˵������ͼ��ʾ���Ѿ�����˸ú��ߣ��������棬���±�溽�� + +//¹¦ÄÜ£ºÔÚµØÍ¼ÏÔÊ¾Çø±ê»æ³ö×°¶©µÄ·ÉÐк½ÏßÊý¾Ý +//ÊäÈ룺º½ÏßÊý¾ÝÌ弯ºÏlinePtArray£¬º½Ïߵĺ½µã¸öÊýptNum +//˵Ã÷£ºµØÍ¼ÏÔʾÆ÷ÒѾ­±ê»æÁ˸ú½Ïߣ¬ÔòÇå³ý±ê»æ£¬ÖØÐ屐Ⱦº½Ïß void CGISDlg::DrawBindingLine(const PtStruct *linePtArray, const int ptNum) { if (ptNum == 0 ) @@ -4195,71 +4195,71 @@ void CGISDlg::DrawBindingLine(const PtStruct *linePtArray, const int ptNum) return; } - //�������ݼ��� + //º½ÏßÊý¾Ý¼¯ºÏ DrawLineDataStruct lineDataArr; - //����������ת���ĺ������ݼ��� + //º½µãÊý¾ÝÌåת±ê»æµÄº½ÏßÊý¾Ý¼¯ºÏ m_lineManage.LinePoint2DrawLinePoints(lineDataArr, linePtArray, ptNum); - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(lineDataArr.lineID-1); - //�������ݵ����߼����� + //¿½±´Êý¾Ýµ½º½Ïß¼¯ºÏÖÐ m_pFlyLines[lineDataArr.lineID-1] = lineDataArr; - //��ͼ�������� + //µØÍ¼±ê»æ³öº½Ïß //DrawFlyLine(m_pFlyLines[lineDataArr.lineID-1]); DrawFlyLine(lineDataArr); } -//���ܣ������к��� -//���룺��������lineData +//¹¦ÄÜ£º±ê»æ·ÉÐк½Ïß +//ÊäÈ룺º½ÏßÊý¾ÝlineData void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData) { - //field����ֵ + //fieldË÷ÒýÖµ long fieldIndex = 0; - //���������� + //º½ÏßË÷ÒýºÅ int lineID = lineData.lineID-1; - //û��Ŀ����SHPͼ�㣬������ͼ�� + //ûÓÐÄ¿±ê±ê»æSHPͼ²ã£¬´´½¨¸Ãͼ²ã if (!m_pHaveDrawLineFlag[lineID]) { - //������ͼ�� + //´´½¨µãͼ²ã CreateEmptyShapfile(m_ppPlanLineShpLayerIDArr[lineID][0], 0, /*RGB(0,255,0)*/LineClr[lineID]); - //������ͼ�� + //´´½¨Ïßͼ²ã CreateEmptyShapfile(m_ppPlanLineShpLayerIDArr[lineID][1], 1, /*RGB(0,255,0)*/LineClr[lineID]); - //������ͼ��ɹ� + //´´½¨Ïßͼ²ã³É¹¦ m_pHaveDrawLineFlag[lineID] = true; } - //���ͼ����뺽������ + //Ïòµãͼ²ã¼ÓÈ뺽µãÊý¾Ý AddPoints2PointShapfile(m_ppPlanLineShpLayerIDArr[lineID][0], lineData.pts, lineData.pointNum); - //����ͼ����뺽������ + //ÏòÏßͼ²ã¼ÓÈ뺽µãÊý¾Ý AddPoints2LineShapfile(m_ppPlanLineShpLayerIDArr[lineID][1], lineData.linePts, lineData.linePointNum); - /////////////////////��SHPͼ���м���Ŀ����ע��Ϣ/////////////////////////////// + /////////////////////ÍùSHPͼ²ãÖмÓÈëÄ¿±êµã±ê×¢ÐÅÏ¢/////////////////////////////// - //Label���� + //Label¼¯ºÏ CLabels labesPtr; labesPtr = (m_map.GetShapefile(m_ppPlanLineShpLayerIDArr[lineID][0])).GetLabels(); - //CLabelCategory labelCategory = labesPtr.AddCategory(_T("��ɫ")); + //CLabelCategory labelCategory = labesPtr.AddCategory(_T("ºìÉ«")); //labelCategory.SetFontColor(/*RGB(255,0,0)*/LineClr[lineID]); //labelCategory.SetAlignment(1); //labelCategory.SetFontBold(TRUE); - //labelCategory.SetFontName(LPCTSTR("����")); + //labelCategory.SetFontName(LPCTSTR("ºÚÌå")); //labelCategory.SetFontSize(12); //labesPtr.SetAvoidCollisions(FALSE); labesPtr.SetFontColor(/*RGB(255,0,0)*/LineClr[lineID]); labesPtr.SetAlignment(1); labesPtr.SetFontBold(true); - labesPtr.SetFontName(LPCTSTR("����")); + labesPtr.SetFontName(LPCTSTR("ºÚÌå")); labesPtr.SetFontSize(16); labesPtr.put_FontSize2(16); labesPtr.SetFrameVisible(false); @@ -4268,40 +4268,41 @@ void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData) CString strText = _T(""); - //��溽������� + //±ê»æº½µãµÄÃû³Æ for (long i=0; i(m_rcDesignGISWindow.left*cx); @@ -4310,15 +4311,15 @@ void CGISDlg::MoveGISShowWindow(const CRect moveToArea) gisRect.right = moveToArea.right; gisRect.bottom = moveToArea.bottom; - //��ͼ��ʾ�����ȡ��߶ȵ��� + //µØÍ¼ÏÔÊ¾Çø¿í¶È¡¢¸ß¶Èµ¹Êý m_onePerWidth = 1.0/gisRect.Width(); m_onePerHeight = 1.0/gisRect.Height(); - //��ͼ��ʾ�����ȡ��߶� + //µØÍ¼ÏÔÊ¾Çø¿í¶È¡¢¸ß¶È m_mapAreaHalfWidth = 0.5*gisRect.Width(); m_mapAreaHalfHeight = 0.5*gisRect.Height(); - //��ͼ�ؼ��ƶ����������� + //µØÍ¼¿Ø¼þÒÆ¶¯µ½¸ø¶¨ÇøÓò GetDlgItem(IDC_MAP1)->MoveWindow(gisRect, TRUE); } @@ -4329,7 +4330,8 @@ void CGISDlg::OnMouseMove(UINT nFlags, CPoint point) } -//���ܣ��������������� + +//¹¦ÄÜ£º´´½¨¸¡¶¯¹¤¾ßÀ¸ void CGISDlg::CreateFloatToolBar() { CBitmap bm; @@ -4339,18 +4341,18 @@ void CGISDlg::CreateFloatToolBar() IDB_BITMAP_SELECT, IDB_BITMAP_ZOOMIN, IDB_BITMAP_ZOOMOUT, IDB_BITMAP_MOVE, IDB_BITMAP_FULLSCREEN, IDB_BITMAP_RULER, IDB_BITMAP_XY, IDB_BITMAP_SURVEY, - IDB_BITMAP10/*IDB_BITMAP_PRINT*/}; //λͼID���� + IDB_BITMAP10/*IDB_BITMAP_PRINT*/}; //λͼIDÊý×é - m_ImageList.Create(24, 24, ILC_COLOR24|ILC_MASK, 0, 0); //����Image List + m_ImageList.Create(24, 24, ILC_COLOR24|ILC_MASK, 0, 0); //´´½¨Image List CRect rcToolBar; /*rcToolBar.top = m_rcGISArea.top; rcToolBar.left = m_rcGISArea.right-24; rcToolBar.bottom = m_rcGISArea.bottom; rcToolBar.right = m_rcGISArea.right;*/ - //m_ToolBar.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ CCS_ADJUSTABLE | TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //����Toolbar Control - m_ToolBar.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //����Toolbar Control + //m_ToolBar.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ CCS_ADJUSTABLE | TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //´´½¨Toolbar Control + m_ToolBar.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //´´½¨Toolbar Control m_ToolBar.SetBitmapSize(CSize(24, 24)); @@ -4367,12 +4369,12 @@ void CGISDlg::CreateFloatToolBar() m_ToolBar.SetImageList(&m_ImageList); - TBBUTTON Buttons[14]; //����TBBUTTON�ṹ������ + TBBUTTON Buttons[14]; //¶¨ÒåTBBUTTON½á¹¹ÌåÊý×é CString str; for(i=0; icode == TTN_NEEDTEXTA || pNMHDR->code == TTN_NEEDTEXTW); // UNICODE��Ϣ + ASSERT(pNMHDR->code == TTN_NEEDTEXTA || pNMHDR->code == TTN_NEEDTEXTW); // UNICODEÏûÏ¢ TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR; TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR; //TCHAR szFullText[512]; CString strTipText; UINT nID = pNMHDR->idFrom; if(pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) || pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND)) - {// idFrom��������HWND + {// idFromΪ¹¤¾ßÌõµÄHWND nID = ::GetDlgCtrlID((HWND)nID); } - if(nID != 0) //��Ϊ�ָ��� + if(nID != 0) //²»Îª·Ö¸ô·û { //AfxLoadString(nID, szFullText); //strTipText=szFullText; strTipText.LoadString(nID); strTipText = strTipText.Mid(strTipText.Find('\n',0)+1); @@ -4430,7 +4432,7 @@ BOOL CGISDlg::OnToolTipText(UINT,NMHDR* pNMHDR,LRESULT* pResult) lstrcpyn(pTTTW->szText,strTipText,sizeof(pTTTW->szText)); } #endif - *pResult = 0; //ʹ��������ʾ������������ + *pResult = 0; //ʹ¹¤¾ßÌõÌáʾ´°¿ÚÔÚ×îÉÏÃæ ::SetWindowPos(pNMHDR->hwndFrom,HWND_TOP,0,0,0,0, SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER); @@ -4440,30 +4442,31 @@ BOOL CGISDlg::OnToolTipText(UINT,NMHDR* pNMHDR,LRESULT* pResult) } -//���ܣ����õ���վλ�� -//���룺����dX���dY���߶�alt + +//¹¦ÄÜ£ºÉèÖõØÃæÕ¾Î»Öà +//ÊäÈ룺¾­¶ÈdX£¬Î³¶ÈdY£¬¸ß¶Èalt void CGISDlg::SetGCSPosition(const double dX, const double dY, const double alt) { - //����վλ�� - g_gcsLon = dX; //���� - g_gcsLat = dY; //� - g_gcsAlt = alt; //�߶� + //µØÃæÕ¾Î»Öà + g_gcsLon = dX; //¾­¶È + g_gcsLat = dY; //γ¶È + g_gcsAlt = alt; //¸ß¶È CString str = _T("GCS"); - CString strColor = _T("��ɫ"); + CString strColor = _T("ºìÉ«"); - //���ڵ�ͼ����б�ע + //»ùÓÚµãͼ²ã½øÐбê×¢ AddPointShapeLayer(m_gcsPtShpLayerID, dX, dY, str, strColor, RGB(255,0,0)); } -//���ܣ�������ʽһ�����������͵��������� +//¹¦ÄÜ£ºµ¼Òý·½Ê½Ò»£¬ÏòÖ÷³ÌÐò·¢Ë͵¼Òýµã×ø±ê void CGISDlg::OnGuideMode1() { - //�жϵ�ͼ�Ƿ��Ѿ����أ�û�м��ط��� - if ( !m_bHaveAddMap ) //û�м��ص�ͼ? + //ÅжϵØÍ¼ÊÇ·ñÒѾ­¼ÓÔØ£¬Ã»ÓмÓÔØ·µ»Ø + if ( !m_bHaveAddMap ) //ûÓмÓÔØµØÍ¼? { - AfxMessageBox( _T( "���ȼ��ص�ͼ��" ) ); + AfxMessageBox( _T( "ÇëÏȼÓÔØµØÍ¼£¡" ) ); return; } @@ -4471,7 +4474,7 @@ void CGISDlg::OnGuideMode1() m_guidePointMode = 1; - m_bGuideMode = true; //��������ģʽΪ�� + m_bGuideMode = true; //µ¼Òý·ÉÐÐÄ£Ê½ÎªÕæ //2023.4.3 JackLiu /* @@ -4487,13 +4490,13 @@ void CGISDlg::OnGuideMode1() } -//���ܣ�������ʽ�������������͵��������� +//¹¦ÄÜ£ºµ¼Òý·½Ê½¶þ£¬ÏòÖ÷³ÌÐò·¢Ë͵¼Òýµã×ø±ê void CGISDlg::OnGuideMode2() { - //�жϵ�ͼ�Ƿ��Ѿ����أ�û�м��ط��� - if ( !m_bHaveAddMap ) //û�м��ص�ͼ? + //ÅжϵØÍ¼ÊÇ·ñÒѾ­¼ÓÔØ£¬Ã»ÓмÓÔØ·µ»Ø + if ( !m_bHaveAddMap ) //ûÓмÓÔØµØÍ¼? { - AfxMessageBox( _T( "���ȼ��ص�ͼ��" ) ); + AfxMessageBox( _T( "ÇëÏȼÓÔØµØÍ¼£¡" ) ); return; } @@ -4501,7 +4504,7 @@ void CGISDlg::OnGuideMode2() m_guidePointMode = 2; - m_bGuideMode = true; //��������ģʽΪ�� + m_bGuideMode = true; //µ¼Òý·ÉÐÐÄ£Ê½ÎªÕæ //2023.4.3 JackLiu @@ -4517,107 +4520,110 @@ void CGISDlg::OnGuideMode2() //::PostMessage(HWND_BROADCAST, WM_SEND_GUIDEPOINT_INFO , WPARAM(&m_guidePtInfo) , 2); } -//���ܣ���ʾ1��� +//¹¦ÄÜ£ºÏÔʾ1ºÅº½Ïß void CGISDlg::OnShowLine1() { SetFlyLineShowStatus(1); } -//���ܣ���ʾ2��� +//¹¦ÄÜ£ºÏÔʾ2ºÅº½Ïß void CGISDlg::OnShowLine2() { SetFlyLineShowStatus(2); } -//���ܣ���ʾ3��� +//¹¦ÄÜ£ºÏÔʾ3ºÅº½Ïß void CGISDlg::OnShowLine3() { SetFlyLineShowStatus(3); } -//���ܣ���ʾ4��� + +//¹¦ÄÜ£ºÏÔʾ4ºÅº½Ïß void CGISDlg::OnShowLine4() { SetFlyLineShowStatus(4); } -//���ܣ���ʾ5��� + +//¹¦ÄÜ£ºÏÔʾ5ºÅº½Ïß void CGISDlg::OnShowLine5() { SetFlyLineShowStatus(5); } -//���ܣ���ʾ6��� +//¹¦ÄÜ£ºÏÔʾ6ºÅº½Ïß void CGISDlg::OnShowLine6() { SetFlyLineShowStatus(6); } -//���ܣ���ʾ7��� +//¹¦ÄÜ£ºÏÔʾ7ºÅº½Ïß void CGISDlg::OnShowLine7() { SetFlyLineShowStatus(7); } -//���ܣ���ʾ8��� +//¹¦ÄÜ£ºÏÔʾ8ºÅº½Ïß void CGISDlg::OnShowLine8() { SetFlyLineShowStatus(8); } -//���ܣ���ʾ9��� +//¹¦ÄÜ£ºÏÔʾ9ºÅº½Ïß void CGISDlg::OnShowLine9() { SetFlyLineShowStatus(9); } -//���ܣ���ʾ10��� + +//¹¦ÄÜ£ºÏÔʾ10ºÅº½Ïß void CGISDlg::OnShowLine10() { SetFlyLineShowStatus(10); } -//���ܣ�����Ѿ����ĺ��� -//���룺���߱��lineID����0��ʼ���� +//¹¦ÄÜ£ºÇå³ýÒѾ­±ê»æµÄº½Ïß +//ÊäÈ룺º½Ïß±àºÅlineID£¬´Ó0¿ªÊ¼¼ÆÊý void CGISDlg::ClearDrawedLine(const int lineID) { if (m_pHaveDrawLineFlag[lineID]) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(m_ppPlanLineShpLayerIDArr[lineID][0]); - //����Ѿ����ĺ��� + //Çå³ýÒѾ­±ê»æµÄº½Ïß m_map.RemoveLayer(m_ppPlanLineShpLayerIDArr[lineID][1]); m_pHaveDrawLineFlag[lineID] = false; } } -//���ܣ�������ݲ˵��뺽����ʾ��صIJ��� -// 1)�����Ѿ���ע�������ʾ -// 2)����δ��ע��������ʾ -//���룺���߱��lineID +//¹¦ÄÜ£º´¦Àí¿ì½Ý²Ëµ¥Ó뺽ÏßÏÔʾÏà¹ØµÄ²Ù×÷ +// 1)º½ÏßÒѾ­±ê×¢£¬Çå³ýÏÔʾ +// 2)º½Ïßδ±ê×¢£¬½øÐÐÏÔʾ +//ÊäÈ룺º½Ïß±àºÅlineID void CGISDlg::SetFlyLineShowStatus(const int lineID) { int lineIndex = lineID - 1; - //�Ѿ���棬������� + //ÒѾ­±ê»æ£¬Çå³ýº½Ïß if (m_pHaveDrawLineFlag[lineIndex]) { - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(lineIndex); - //ˢ�� + //ˢРm_map.Redraw(); - //��ʶ��false + //±êʶÖÃfalse m_pHaveDrawLineFlag[lineIndex] = false; } else { - TCHAR filter[500]=_T("�����ļ�(*.txt)\0*.txt\0��"); + TCHAR filter[500]=_T("º½ÏßÎļþ(*.txt)\0*.txt\0£©"); CFileDialog LineRouteDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter, NULL); /*LineRouteDlg.m_ofn.lpstrInitialDir = strRouteFileDir;*/ LineRouteDlg.m_ofn.lpstrFilter="txt(*.txt)\0*.txt"; - LineRouteDlg.m_ofn.lpstrTitle = "ѡ����ʾ�������ɵĺ���"; - if (LineRouteDlg.DoModal() == IDOK) //�û�����OK��ť��ֹ�Ի���ķ���ֵ + LineRouteDlg.m_ofn.lpstrTitle = "Ñ¡ÔñÏÔʾ×îÐÂÉú³ÉµÄº½Ïß"; + if (LineRouteDlg.DoModal() == IDOK) //Óû§µ¥»÷OK°´Å¥ÖÐÖ¹¶Ô»°¿òµÄ·µ»ØÖµ { - CString str = LineRouteDlg.GetPathName(); //��ȡ�ļ�·���� + CString str = LineRouteDlg.GetPathName(); //»ñÈ¡Îļþ·¾¶Ãû OnShowGivenLine(str/*GetFlyLineName(lineID)*/); } @@ -4628,7 +4634,7 @@ void CGISDlg::SetFlyLineShowStatus(const int lineID) void CGISDlg::OnUpdateLineDisplay1( CCmdUI *pCmdUI ) { - pCmdUI->SetCheck(m_pHaveDrawLineFlag[0]); //��1�ź���ѡ�к󣬴��ϼǺ� + pCmdUI->SetCheck(m_pHaveDrawLineFlag[0]); //µ±1ºÅº½ÏßÑ¡Öк󣬴òÉϼǺŠ} void CGISDlg::OnUpdateLineDisplay2( CCmdUI *pCmdUI ) @@ -4677,14 +4683,14 @@ void CGISDlg::OnUpdateShowLine10(CCmdUI *pCmdUI) pCmdUI->SetCheck(m_pHaveDrawLineFlag[9]); } -//���ܣ���ʾ���� -//���룺�����ļ�����strLineFileName +//¹¦ÄÜ£ºÏÔʾº½Ïß +//ÊäÈ룺º½ÏßÎļþÃû³ÆstrLineFileName void CGISDlg::OnShowGivenLine(const CString strLineFileName) { - //�жϵ�ͼ�Ƿ��Ѿ����أ�û�м��ط��� - if ( !m_bHaveAddMap ) //û�м��ص�ͼ? + //ÅжϵØÍ¼ÊÇ·ñÒѾ­¼ÓÔØ£¬Ã»ÓмÓÔØ·µ»Ø + if ( !m_bHaveAddMap ) //ûÓмÓÔØµØÍ¼? { - BCGPMessageBox( _T( "���ȼ��ص�ͼ��" ) ); + BCGPMessageBox( _T( "ÇëÏȼÓÔØµØÍ¼£¡" ) ); return; } if (_T("") == strLineFileName) @@ -4692,38 +4698,38 @@ void CGISDlg::OnShowGivenLine(const CString strLineFileName) return; } - //�ж��ļ��Ƿ���� + //ÅжÏÎļþÊÇ·ñ´æÔÚ if (!SearchDirectory(strLineFileName)) { - BCGPMessageBox( _T( "��·�ļ������ڣ�" ) ); + BCGPMessageBox( _T( "º½Â·Îļþ²»´æÔÚ£¡" ) ); return; } - //�������ݼ��� + //º½ÏßÊý¾Ý¼¯ºÏ DrawLineDataStruct lineDataGroup; - //��ʼ�� + //³õʼ»¯ memset(&lineDataGroup, 0, sizeof(DrawLineDataStruct)); - //�����ļ���ȡ�ɹ� + //º½ÏßÎļþ¶ÁÈ¡³É¹¦ if (m_lineManage.ReadLineDataFromFile(lineDataGroup, strLineFileName)) { - //�жϺ��ߺ��Ƿ���ȷ��lineIDȡֵ1-8,10-11,13����add by jackwong 2018.08.01�� + //ÅжϺ½ÏߺÅÊÇ·ñÕýÈ·£¨lineIDȡֵ1-8,10-11,13£©£¨add by jackwong 2018.08.01£© if(lineDataGroup.lineID<1 || /*(*/lineDataGroup.lineID>14 /*&& lineDataGroup.lineID<10)*/ /*|| lineDataGroup.lineID==14 *//*|| lineDataGroup.lineID>13*/) { - BCGPMessageBox("���ߺŲ���ȷ��"); + BCGPMessageBox("º½ÏߺŲ»ÕýÈ·£¡"); return; } /*******************by Wu 2023.09.14****************************/ m_ShowedLineDataList[lineDataGroup.lineID] = lineDataGroup; - if (lineDataGroup.lineID==11) //���պ��� �洢�����������ڱ༭ + if (lineDataGroup.lineID==11) //»ØÊÕº½Ïß ´æ´¢±¸·ÝÊý¾ÝÓÃÓڱ༭ { - //��ʼ�� + //³õʼ»¯ //memset(&backLineDataGroup, 0, sizeof(DrawLineDataStruct)); backLineDataGroup = lineDataGroup; - //Σ�յ��ε��� + //ΣÏÕµØÐεã¼ì²â ClearDangerousTerrainPoints(); double height = backLineDataGroup.linePts[0].nH; double pts[128][2]; @@ -4736,53 +4742,53 @@ void CGISDlg::OnShowGivenLine(const CString strLineFileName) } /**********************************************************************************/ - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(lineDataGroup.lineID-1); - //��溽�� + //±ê»æº½Ïß DrawFlyLine(lineDataGroup); } } -//���ܣ���浼����λ�� -//���룺����������guideMode��1��������1,2��������2��������dX���dY +//¹¦ÄÜ£º±ê»æµ¼ÒýµãλÖà +//ÊäÈ룺µ¼ÒýµãÀàÐÍguideMode£¨1Ϊµ¼Òý·ÉÐÐ1,2Ϊµ¼Òý·ÉÐÐ2£©£¬¾­¶ÈdX£¬Î³¶ÈdY void CGISDlg::DrawGuidePoint(const BYTE guideMode, const double dX, const double dY) { CString str = _T(""); - if (guideMode == 1) //������1 + if (guideMode == 1) //µ¼Òýµã1 { str = _T("GuidePoint1"); } - else if (guideMode == 2) //������2 + else if (guideMode == 2) //µ¼Òýµã2 { str = _T("GuidePoint2"); } - CString strColor = _T("��ɫ"); + CString strColor = _T("ºìÉ«"); - //���ڵ�ͼ����б�ע + //»ùÓÚµãͼ²ã½øÐбê×¢ AddPointShapeLayer(m_guidePtShpLayerID, dX, dY, str, strColor, RGB(255,0,0)); } -//���ܣ����ڵ�ʸ��ͼ����Ŀ��� -//���룺��ͼ������drawLayerID -// �����꣬����dX, �dY -// ������strPtName -// �����ɫstrColor -// ���������ɫ��ֵfontColor +//¹¦ÄÜ£º»ùÓÚµãʸÁ¿Í¼²ã±ê»æÄ¿±êµã +//ÊäÈ룺µãͼ²ãÃû³ÆdrawLayerID +// µã×ø±ê£¬¾­¶ÈdX, γ¶ÈdY +// µãÃû³ÆstrPtName +// ±ê»æÑÕÉ«strColor +// ±ê»æ×ÖÌåÑÕÉ«ÊýÖµfontColor void CGISDlg::AddPointShapeLayer(long &drawLayerID, const double dX, const double dY, const CString strPtName, const CString strColor, unsigned long fontColor) { - //�жϵ�ʸ��ͼ���Ƿ��Ѿ����ڣ�������ɾ�� + //ÅжϵãʸÁ¿Í¼²ãÊÇ·ñÒѾ­´æÔÚ£¬´æÔÚÔòɾ³ý if (drawLayerID != -1) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(drawLayerID); } - ///////////////////////////////////�½���ʸ��ͼ�����Ŀ��/////////////////////////////////// - //������ͼ�� + ///////////////////////////////////н¨µãʸÁ¿Í¼²ã±ê»æµãÄ¿±ê/////////////////////////////////// + //´´½¨µãͼ²ã //CreateEmptyShapfile(drawLayerID, 0, RGB(0,255,0)); CreateEmptyShapfile(drawLayerID, 0, fontColor); @@ -4790,12 +4796,12 @@ void CGISDlg::AddPointShapeLayer(long &drawLayerID, const double dX, const doubl pointDataArr[0].dX = dX; pointDataArr[0].dY = dY; - //���ͼ����뺽������ + //Ïòµãͼ²ã¼ÓÈ뺽µãÊý¾Ý AddPoints2PointShapfile(drawLayerID, pointDataArr, 1); - /////////////////////��SHPͼ���м���Ŀ����ע��Ϣ/////////////////////////////// + /////////////////////ÍùSHPͼ²ãÖмÓÈëÄ¿±êµã±ê×¢ÐÅÏ¢/////////////////////////////// - //Label���� + //Label¼¯ºÏ CLabels labesPtr; CShapefile shp = m_map.GetShapefile(drawLayerID); labesPtr = (m_map.GetShapefile(drawLayerID)).GetLabels(); @@ -4817,18 +4823,18 @@ void CGISDlg::AddPointShapeLayer(long &drawLayerID, const double dX, const doubl labelCategory.SetFontSize(11); labelCategory.SetFrameVisible(false);*/ - //����Labels + //Ôö¼ÓLabels labesPtr.AddLabel((LPCTSTR)strPtName, dX, dY, 0, 0); - /////////////////////��SHPͼ���м���Ŀ����ע��Ϣ/////////////////////////////// + /////////////////////ÍùSHPͼ²ãÖмÓÈëÄ¿±êµã±ê×¢ÐÅÏ¢/////////////////////////////// - //���»��� + //ÖØÐ»æÖÆ m_map.Redraw(); } -//���ܣ������ͼ���ע��Ϣ -//���룺��ͼ��ID��layerID +//¹¦ÄÜ£ºÇå³ýµãͼ²ã±ê×¢ÐÅÏ¢ +//ÊäÈ룺µãͼ²ãIDºÅlayerID void CGISDlg::ClearPointShape(long layerID) { if (layerID == -1) @@ -4840,11 +4846,11 @@ void CGISDlg::ClearPointShape(long layerID) if (sf) { labesPtr = sf.GetLabels(); - //�����ע��Ϣ + //Çå³ý±ê×¢ÐÅÏ¢ labesPtr.RemoveCategory(0); labesPtr.Clear(); - //����Ѿ����ĺ��� + //Çå³ýÒѾ­±ê»æµÄº½µã m_map.RemoveLayer(layerID); } //labesPtr = (m_map.GetShapefile(layerID)).GetLabels(); @@ -4854,18 +4860,18 @@ void CGISDlg::ClearPointShape(long layerID) LRESULT CGISDlg::OnCheckFlyLineShowStatus(WPARAM wParam, LPARAM lParam) { - //���߱�� + //º½Ïß±àºÅ int lineIndex = wParam-1; if (m_pHaveDrawLineFlag[lineIndex]) { - //�������� + //Çå³ý±ê»æµÄº½Ïß ClearDrawedLine(lineIndex); - //ˢ�� + //ˢРm_map.Redraw(); - //��ʶ��false + //±êʶÖÃfalse m_pHaveDrawLineFlag[lineIndex] = false; } @@ -4873,24 +4879,24 @@ LRESULT CGISDlg::OnCheckFlyLineShowStatus(WPARAM wParam, LPARAM lParam) } -// ���ܣ����÷��͵�����ʽ��Ϣ���;������Ϣ�� +// ¹¦ÄÜ£ºÉèÖ÷¢Ë͵¼Òý·½Ê½ÏûÏ¢·¢Ë;ä±ú¼°ÏûÏ¢ºÅ void CGISDlg::SetMsgInfo(const HWND hwnd, const UINT msgID) { m_MsgHwnd = hwnd; m_MsgID = msgID; } -// ���ܣ����ú���װ����Ϣ���;������Ϣ�� +// ¹¦ÄÜ£ºÉèÖú½Ïß×°¶©ÏûÏ¢·¢Ë;ä±ú¼°ÏûÏ¢ºÅ void CGISDlg::SetLoadLineMsgInfo(const HWND hwnd, const UINT msgID) { m_MsgHwnd = hwnd; m_LineLoadMsgID = msgID; } -//���ܣ��ж�����Ƿ�ѡ�к��� -//���룺��������curpoint���������������x��y -//����ֵ��true�������ѡ�к��� -// false�������δѡ�к��� +//¹¦ÄÜ£ºÅжÏÊó±êÊÇ·ñÑ¡Öк½µã +//ÊäÈ룺º½µãÊý¾Ýcurpoint£¬Êó±êµã»÷ÏñËØ×ø±êxºÍy +//·µ»ØÖµ£ºtrue¡ª¡ªÊó±êÑ¡Öк½µã +// false¡ª¡ªÊó±êδѡÖк½µã bool CGISDlg::BeMouseClickedLinePoint(const PtStruct curpoint, const long x, const long y) { CRect rc; @@ -4898,7 +4904,7 @@ bool CGISDlg::BeMouseClickedLinePoint(const PtStruct curpoint, const long x, con double ptPixelX = 0; double ptPixelY = 0; - //��������ת���������� + //ÏñËØ×ø±êת»»µØÀí×ø±ê m_map.ProjToPixel(curpoint.dX, curpoint.dY, &ptPixelX, &ptPixelY); rc.left = static_cast(ptPixelX - 20); @@ -4924,7 +4930,7 @@ void CGISDlg::MouseUpMap1(short Button, short Shift, long x, long y) } -//���ܣ��Ƿ�����Զ����� +//¹¦ÄÜ£ºÊÇ·ñ½øÐÐ×Ô¶¯ÂþÓÎ void CGISDlg::OnAutoMove() { if (m_bAutoMove) @@ -4939,12 +4945,12 @@ void CGISDlg::OnAutoMove() } -void CGISDlg::OnDesignLine() //������� +void CGISDlg::OnDesignLine() //º½ÏßÉè¼Æ { if (m_bHaveAddMap) { - //�Ѿ����ں������״̬ʱ������ + //ÒѾ­´¦ÓÚº½ÏßÉè¼Æ×´Ì¬Ê±£¬·µ»Ø if (m_bLineDesign) { return; @@ -4953,32 +4959,32 @@ void CGISDlg::OnDesignLine() //������� { m_bLineDesign = true; - // //��Ƶ�һ������ + // //Éè¼ÆµÚÒ»¸öº½µã // m_bDesignFirstPoint = true; } - // //������еĺ������� + // //Çå³ýÏÖÓеĺ½ÏßÊý¾Ý // m_pFlyLineDesign->ClearCurrentData(); // - // //��ʾ������ƶԻ��� + // //ÏÔʾº½ÏßÉè¼Æ¶Ô»°¿ò // m_pFlyLineDesign->ShowWindow(SW_SHOW); // - // //��ʾ���� + // //ÏÔʾÈí¼þ // m_pLineSectDlg->ShowWindow(SW_SHOW); // - // //�������Ϊ��ѡ����ʽ + // //ÉèÖÃÊó±êΪ¡°Ñ¡Ôñ¡±Ñùʽ // m_map.SetCursorMode(3); } else { - BCGPMessageBox(_T("���ȼ��ص�ͼ���ݣ�")); + BCGPMessageBox(_T("ÇëÏȼÓÔØµØÍ¼Êý¾Ý£¡")); } if(m_bLineDesign == false) { - m_bLineDesign=true; //�������ģʽ���� + m_bLineDesign=true; //º½ÏßÉè¼ÆÄ£Ê½Æô¶¯ } } @@ -4996,11 +5002,11 @@ void CGISDlg::OnUpdateAutoMov( CCmdUI *pCmdUI ) } -//���ܣ������յ�λ�� -//���룺����������callbackMode��1Ϊ���յ�1��2Ϊ���յ�2��������dX���dY +//¹¦ÄÜ£º±ê»æ»ØÊÕµãλÖà +//ÊäÈ룺µ¼ÒýµãÀàÐÍcallbackMode£¨1Ϊ»ØÊÕµã1£»2Ϊ»ØÊÕµã2£©£¬¾­¶ÈdX£¬Î³¶ÈdY void CGISDlg::DrawCallBackPoint(const BYTE callbackMode, const double dX, const double dY) { - //û�м��ص�ͼ + //ûÓмÓÔØµØÍ¼ if (!m_bHaveAddMap) { return; @@ -5014,31 +5020,31 @@ void CGISDlg::DrawCallBackPoint(const BYTE callbackMode, const double dX, const CString str; str.Format(_T("CallbackPoint%d"), callbackMode); - //��������ɫ - CString strColor = _T("��ɫ"); + //×ÖÌå±ê»æÑÕÉ« + CString strColor = _T("ÂÌÉ«"); - //���ڵ�ͼ����б�ע + //»ùÓÚµãͼ²ã½øÐбê×¢ AddPointShapeLayer(m_pCallBackShapfileID[callbackMode-1], dX, dY, str, strColor, RGB(0,255,0)); } -//���ܣ�ȡ����ͼ�����ĵ����� +//¹¦ÄÜ£ºÈ¡ÏûµØÍ¼Çø±ê»æµÄµ¼Òýµã void CGISDlg::OnRemoveGuidePtDraw() { - //�жϵ�ʸ��ͼ���Ƿ��Ѿ����ڣ�������ɾ�� + //ÅжϵãʸÁ¿Í¼²ãÊÇ·ñÒѾ­´æÔÚ£¬´æÔÚÔòɾ³ý if (m_guidePtShpLayerID != -1) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(m_guidePtShpLayerID); m_guidePtShpLayerID = -1; } - //������ģʽ + //µ¼Òýµãģʽ m_guidePointMode = 0; m_bGuideMode = false ; - //��ʾ��ݲ˵� + //ÏÔʾ¿ì½Ý²Ëµ¥ CMenu menu; menu.LoadMenuA(IDR_MENU2); menu.CheckMenuItem(IDM_GUIDE_FLY1,MF_BYCOMMAND|MF_UNCHECKED); @@ -5071,7 +5077,7 @@ void CGISDlg::OnUpdateGuideMode2( CCmdUI *pCmdUI ) } } -void CGISDlg::OnAddpoint() //����Ϊ�õ㹤��״̬ +void CGISDlg::OnAddpoint() //ÉèÖÃΪÖõ㹤×÷״̬ { // TODO: Add your command handler code here m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); @@ -5083,7 +5089,7 @@ void CGISDlg::OnAddpoint() //����Ϊ�õ㹤��״̬ m_bDesignFirstPoint = false; - //��ƺ���ʱ���������ʾ�ĺ��� + //Éè¼Æº½Ïßʱ£¬Çå³ýÒÑÏÔʾµÄº½Ïß if(m_bLineDesign) { for(int i=0;i 0 && m_bSelectFeatureFlag) //���պ����Ƿ���ʾ + if (m_lineSelectedID > 0 && m_bSelectFeatureFlag) //»ØÊÕº½ÏßÊÇ·ñÏÔʾ { m_bEditLine = true; @@ -5350,11 +5356,11 @@ void CGISDlg::OnEditLine() //void CGISDlg::OnBindline1() //{ -// ::PostMessage(m_MsgHwnd,m_LineLoadMsgID,1,0); //���͸�������װ������1 +// ::PostMessage(m_MsgHwnd,m_LineLoadMsgID,1,0); //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß1 //} -void CGISDlg::OnBindline2() //���͸�������װ������2 +void CGISDlg::OnBindline2() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß2 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=2; @@ -5362,61 +5368,61 @@ void CGISDlg::OnBindline2() //���͸�� //::PostMessage(m_MsgHwnd,m_LineLoadMsgID,2,0); } -void CGISDlg::OnLoadMyline1() //���͸�������װ������1 +void CGISDlg::OnLoadMyline1() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß1 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=1; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); //::PostMessage(m_MsgHwnd,m_LineLoadMsgID,1,0); } -void CGISDlg::OnBindline3() //���͸�������װ������3 +void CGISDlg::OnBindline3() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß3 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=3; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); //::PostMessage(m_MsgHwnd,m_LineLoadMsgID,3,0); } -void CGISDlg::OnBindline4() //���͸�������װ������4 +void CGISDlg::OnBindline4() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß4 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=4; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); //::PostMessage(m_MsgHwnd,m_LineLoadMsgID,4,0); } -void CGISDlg::OnBindline5() //���͸�������װ������5 +void CGISDlg::OnBindline5() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß5 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=5; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); //::PostMessage(m_MsgHwnd,m_LineLoadMsgID,5,0); } -void CGISDlg::OnBindline6() //���͸�������װ������6 +void CGISDlg::OnBindline6() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß6 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=6; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } -void CGISDlg::OnBindline7() //���͸�������װ������7 +void CGISDlg::OnBindline7() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß7 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=7; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } -void CGISDlg::OnBindline8() //���͸�������װ������8 +void CGISDlg::OnBindline8() //·¢Ë͸øÖ÷³ÌÐò×°¶©º½Ïß8 { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=8; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); @@ -5424,7 +5430,7 @@ void CGISDlg::OnBindline8() //���͸���� void CGISDlg::OnBindline9() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=9; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); @@ -5432,7 +5438,7 @@ void CGISDlg::OnBindline9() void CGISDlg::OnBindline10() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_struMapOut.cmd=MapCmd_BindLine; m_struMapOut.ID=10; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); @@ -5440,9 +5446,9 @@ void CGISDlg::OnBindline10() -void CGISDlg::OnLayermng() //ͼ����� +void CGISDlg::OnLayermng() //ͼ²ã¹ÜÀí { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_Layer->ShowWindow(SW_SHOW); } @@ -5450,7 +5456,7 @@ void CGISDlg::OnLayermng() //ͼ����� void CGISDlg::OnAddgtarget() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë } @@ -5458,9 +5464,9 @@ void CGISDlg::OnAddgtarget() //void CGISDlg::OnMouseHWheel(UINT nFlags, short zDelta, CPoint pt) //{ -// // �˹���Ҫ�� Windows Vista ����߰汾�� -// // _WIN32_WINNT ���ű��� >= 0x0600�� -// // TODO: �ڴ�������Ϣ������������/�����Ĭ��ֵ +// // ´Ë¹¦ÄÜÒªÇó Windows Vista »ò¸ü¸ß°æ±¾¡£ +// // _WIN32_WINNT ·ûºÅ±ØÐë >= 0x0600¡£ +// // TODO: ÔÚ´ËÌí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂëºÍ/»òµ÷ÓÃĬÈÏÖµ // // CBCGPDialog::OnMouseHWheel(nFlags, zDelta, pt); //} @@ -5474,11 +5480,11 @@ void CGISDlg::SetRouteLine(int iLine ,PTLIST *pList) str.Format("%d", iLine); CString m_sRoute = sRouteDir + _T( "\\route" ) + str + _T( ".txt" ); - //2015.10.24 ���Ӷ�ȡ�����ļ� + //2015.10.24 Ìí¼Ó¶ÁÈ¡º½ÏßÎļþ // if (!SearchDirectory(m_sRoute)) // { -// str = m_sRoute + "���߲�����"; -// MessageBox(str, "��ͼ"); +// str = m_sRoute + "º½Ïß²»´æÔÚ"; +// MessageBox(str, "µØÍ¼"); // } // // DrawLineDataStruct CXLineGroup; @@ -5501,7 +5507,7 @@ void CGISDlg::SetRouteLine(int iLine ,PTLIST *pList) // } // else // { -// MessageBox("��·�ļ�����","��ͼ"); +// MessageBox("º½Â·Îļþ´íÎó£¡","µØÍ¼"); // pList->RemoveAll(); // } @@ -5519,8 +5525,8 @@ void CGISDlg::SetRouteLine(int iLine ,PTLIST *pList) // // CString str=""; // -// str.Format("���ߺ�:%02d ���ɾ�:%d ƫ����:%.2f �߶ȸ���:%.2f �ɻ�����:%.2f ����:%.2f\n\ -// �����:%02d ��ƫ��:%d �������:%.2f ���ٸ���:%.2f �ɻ���λ:%.2f", +// str.Format("º½ÏߺÅ:%02d ´ý·É¾à:%d Æ«º½½Ç:%.2f ¸ß¶È¸ø¶¨:%.2f ·É»ú¾àÀë:%.2f ³¡¸ß:%.2f\n\ +// º½µãºÅ:%02d ²àÆ«¾à:%d º½Ïò¸ø¶¨:%.2f ¿ÕËÙ¸ø¶¨:%.2f ·É»ú·½Î»:%.2f", // DrZk.ID_Line, DrZk.Dis_DF, DrZk.Yaw_Offset, DrZk.Heg_GD, DrZk.Dis_Air, DrZk.Heg_GRD,\ // DrZk.ID_Pt, DrZk.Dis_Offset, DrZk.Yaw_GD, DrZk.AirSpeed_GD, DrZk.Azi_Air); // @@ -5533,7 +5539,7 @@ void CGISDlg::SetRouteLine(int iLine ,PTLIST *pList) void CGISDlg::OnNlinedesign() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë m_bLDSetPoint = TRUE; @@ -5558,7 +5564,7 @@ void CGISDlg::OnNlinedesign() void CGISDlg::OnUpdateNlinedesign(CCmdUI *pCmdUI) { - // TODO: �ڴ�������������û����洦��������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî¸üÐÂÓû§½çÃæ´¦Àí³ÌÐò´úÂë } @@ -5581,8 +5587,8 @@ BOOL CGISDlg::ReadLine(int iLine,PTLIST *pList) CString sLineName=GetFlyLineName(iLine); if (!SearchDirectory(sLineName)) { - str=sLineName+" ���߲�����"; - MessageBox(str,"��ͼ"); + str=sLineName+" º½Ïß²»´æÔÚ"; + MessageBox(str,"µØÍ¼"); return FALSE; } @@ -5601,37 +5607,37 @@ BOOL CGISDlg::ReadLine(int iLine,PTLIST *pList) } else { - MessageBox("��·�ļ�����!","��ͼ"); + MessageBox("º½Â·Îļþ´íÎó!","µØÍ¼"); pList->RemoveAll(); return FALSE; } } -//��ʾ���պ��ߣ�14�� +//ÏÔʾ»ØÊÕº½Ïߣ¨14£© void CGISDlg::OnShowPd10() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë SetFlyLineShowStatus(14); } void CGISDlg::OnUpdateShowPd10(CCmdUI *pCmdUI) { - // TODO: �ڴ�������������û����洦��������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî¸üÐÂÓû§½çÃæ´¦Àí³ÌÐò´úÂë pCmdUI->SetCheck(m_pHaveDrawLineFlag[13]); } void CGISDlg::OnShowHs11() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë SetFlyLineShowStatus(11); } -//Ӧ������ 11 +//Ó¦¼±º½Ïß 11 void CGISDlg::OnUpdateShowHs11(CCmdUI *pCmdUI) { - // TODO: �ڴ�������������û����洦��������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî¸üÐÂÓû§½çÃæ´¦Àí³ÌÐò´úÂë pCmdUI->SetCheck(m_pHaveDrawLineFlag[10]); } @@ -5643,7 +5649,7 @@ void CGISDlg::OnBindHs11() ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } -//������ 12 +//µç×ÓΧÀ¸ 12 void CGISDlg::OnShowTc12() { SetFlyLineShowStatus(12); @@ -5667,7 +5673,7 @@ void CGISDlg::OnSize(UINT nType, int cx, int cy) { CBCGPDialog::OnSize(nType, cx, cy); - // TODO: �ڴ˴�������Ϣ����������� + // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë if (m_map.GetSafeHwnd()) { CRect rc; @@ -5732,11 +5738,11 @@ void CGISDlg::UpdateDataInfo(int index,const char* key,double value) DrawCanvas(); } -//����ͼ���� +//±ê»æµØÍ¼²ÎÊý void CGISDlg::DrawCanvas() { COLORREF color = RGB(50,235,50); - //COLORREF colorback= RGB(0,0,0);//�ڵ� + //COLORREF colorback= RGB(0,0,0);//ºÚµ× CRect rec; m_map.GetClientRect(&rec); @@ -5752,34 +5758,34 @@ void CGISDlg::DrawCanvas() labesPtr.Clear(); CString str = ""; - str.Format(_T("%-s%-d"),_T("�������:"),m_infoData.lineID); + str.Format(_T("%-s%-d"),_T("º½ÏßÐòºÅ:"),m_infoData.lineID); labesPtr.AddLabel(str, leftEdge + horizonInter, topEdge + verticalInter * 1, 0, 0); - str.Format(_T("%-s%-d"),_T("�������:"),m_infoData.ptID); + str.Format(_T("%-s%-d"),_T("º½µãÐòºÅ:"),m_infoData.ptID); labesPtr.AddLabel(str, leftEdge + horizonInter, topEdge + verticalInter * 2, 0, 0); - str.Format(_T("%-s%-d"),_T("���ɾ���:"),m_infoData.disDF); + str.Format(_T("%-s%-d"),_T("´ý·É¾àÀë:"),m_infoData.disDF); labesPtr.AddLabel(str, leftEdge + horizonInter, topEdge + verticalInter * 4, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("��ƫ����:"),m_infoData.disCP); + str.Format(_T("%-s%-.1lf"),_T("²àÆ«¾àÀë:"),m_infoData.disCP); labesPtr.AddLabel(str, leftEdge + horizonInter, topEdge + verticalInter * 5, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("�������:"),m_infoData.headingGD); + str.Format(_T("%-s%-.1lf"),_T("º½Ïò¸ø¶¨:"),m_infoData.headingGD); labesPtr.AddLabel(str, rec.left + horizonInter/* - 11*/, topEdge + verticalInter * 7, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("ƫ���Ƕ�:"),m_infoData.anglePH); + str.Format(_T("%-s%-.1lf"),_T("Æ«º½½Ç¶È:"),m_infoData.anglePH); labesPtr.AddLabel(str, rec.left + horizonInter/* - 11*/, topEdge + verticalInter * 8, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("�߶�ƫ��:"),m_infoData.heightPC); + str.Format(_T("%-s%-.1lf"),_T("¸ß¶ÈÆ«²î:"),m_infoData.heightPC); labesPtr.AddLabel(str, rec.left + horizonInter, topEdge + verticalInter * 10, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("�߶ȸ���:"),m_infoData.heightGD); + str.Format(_T("%-s%-.1lf"),_T("¸ß¶È¸ø¶¨:"),m_infoData.heightGD); labesPtr.AddLabel(str, rec.left + horizonInter, topEdge + verticalInter * 11, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("���ٸ���:"),m_infoData.speedGD); + str.Format(_T("%-s%-.1lf"),_T("¿ÕËÙ¸ø¶¨:"),m_infoData.speedGD); labesPtr.AddLabel(str, rec.left + horizonInter, topEdge + verticalInter * 13, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("�����:"),m_infoData.heightCG); + str.Format(_T("%-s%-.1lf"),_T("·ÉÐг¡¸ß:"),m_infoData.heightCG); labesPtr.AddLabel(str, rec.left + horizonInter, topEdge + verticalInter * 14, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("�ɻ�����:"),m_infoData.dis); + str.Format(_T("%-s%-.1lf"),_T("·É»ú¾àÀë:"),m_infoData.dis); labesPtr.AddLabel(str, rec.left + horizonInter, topEdge + verticalInter * 16, 0, 0); - str.Format(_T("%-s%-.1lf"),_T("�ɻ���λ:"),m_infoData.heading); + str.Format(_T("%-s%-.1lf"),_T("·É»ú·½Î»:"),m_infoData.heading); labesPtr.AddLabel(str, rec.left + horizonInter /*- 5*/, topEdge + verticalInter * 17, 0, 0); } else @@ -5788,11 +5794,11 @@ void CGISDlg::DrawCanvas() labesPtr = m_map.GetDrawingLabels(m_canvasLayerID); CLabelCategory left = labesPtr.AddCategory(_T("")); left.SetFontColor(color); - left.SetAlignment(2);//0������1 �Ҷ��룬2��ʾ����� + left.SetAlignment(2);//0£º¾ÓÖУ»1 ÓÒ¶ÔÆë£¬2±íʾ×ó¶ÔÆë left.SetOffsetX(0); left.SetOffsetY(0); left.SetFontBold(true); - left.SetFontName(LPCTSTR("����")); + left.SetFontName(LPCTSTR("ºÚÌå")); left.SetFontSize(13); left.SetFrameBackColor(RGB(0,0,0)); left.SetFrameVisible(TRUE); @@ -5800,11 +5806,11 @@ void CGISDlg::DrawCanvas() CLabelCategory right = labesPtr.AddCategory(_T("")); right.SetFontColor(color); - right.SetAlignment(2);//0���ң�1 ����2��ʾ����� + right.SetAlignment(2);//0£ºÓÒ£»1 ¾ÓÖУ¬2±íʾ×ó¶ÔÆë right.SetOffsetX(0); right.SetOffsetY(0); right.SetFontBold(true); - right.SetFontName(LPCTSTR("����")); + right.SetFontName(LPCTSTR("ºÚÌå")); right.SetFontSize(13); right.SetFrameBackColor(RGB(0,0,0)); right.SetFrameVisible(TRUE); @@ -5828,7 +5834,7 @@ void CGISDlg::SetLabelCategory(const long& shapeID, int fontSize /*= 12*/, unsig labelCategory.SetOffsetX(XOffset); labelCategory.SetOffsetY(YOffset); labelCategory.SetFontBold(TRUE); - labelCategory.SetFontName(LPCTSTR("����")); + labelCategory.SetFontName(LPCTSTR("ËÎÌå")); labelCategory.SetFontSize(fontSize); labelCategory.SetFrameBackColor(frameBackColor); labelCategory.SetFrameVisible(TRUE); @@ -5839,7 +5845,7 @@ void CGISDlg::OnMove(int x, int y) { CBCGPDialog::OnMove(x, y); - // TODO: �ڴ˴�������Ϣ����������� + // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë CRect rc; GetClientRect(&rc); ClientToScreen(&rc); @@ -5861,21 +5867,21 @@ void CGISDlg::OnMove(int x, int y) BOOL CGISDlg::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult) { - // TODO: �ڴ�����ר�ô����/����û��� + // TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà return CBCGPDialog::OnWndMsg(message, wParam, lParam, pResult); } -//�л��ɻ� +//Çл»·É»ú afx_msg LRESULT CGISDlg::OnSelUav(WPARAM wParam, LPARAM lParam) { return 0; } -//���ӵر�� +//Ìí¼ÓµØ±êµã void CGISDlg::OnAddTarget() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë /*if (m_pTargetDlg->GetSafeHwnd()) { ReadTargetIni(false); @@ -5887,7 +5893,7 @@ void CGISDlg::OnAddTarget() void CGISDlg::ReadTargetIni(bool bDraw) { - CString m_MapPath; //Ĭ�ϴò¿ªµï¿½Í¼Â·ï¿½ï¿½ + CString m_MapPath; //ĬÈÏ´ò¿ªµØÍ¼Â·¾¶ char lonBuf[255]; char latBuf[255]; CString fileName = GetSoftwareCurrentDirectory() + "\\target.ini"; @@ -5906,7 +5912,7 @@ void CGISDlg::ReadTargetIni(bool bDraw) double lon = atof(lonBuf); double lat = atof(latBuf); - if (fabs(lon)>180.0||fabs(lat)>90.0)//���ݷǷ������ + if (fabs(lon)>180.0||fabs(lat)>90.0)//Êý¾Ý·Ç·¨£¬Çå³ý { WritePrivateProfileString(strTarget,"lon",NULL, fileName); WritePrivateProfileString(strTarget,"lat",NULL, fileName); @@ -5962,7 +5968,7 @@ void CGISDlg::OnShowWindow(BOOL bShow, UINT nStatus) { CBCGPDialog::OnShowWindow(bShow, nStatus); - // TODO: �ڴ˴�������Ϣ����������� + // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë if(bShow) { HCURSOR hCur = LoadCursor(NULL,IDC_ARROW); @@ -5986,10 +5992,10 @@ void CGISDlg::OnShowWindow(BOOL bShow, UINT nStatus) //ReadTargetIni(true); } -//ɾ��ѡ�е�Ŀ��㣨��Ϊ����ȷ��ͼ���еĵ㣬���Բ���ȫ��ɾ���ٻ��Ʒ����� +//ɾ³ýÑ¡ÖеÄÄ¿±êµã£¨ÒòΪ²»ÄÜÈ·¶¨Í¼²ãÖеĵ㣬ËùÒÔ²ÉÓÃÈ«²¿É¾³ýÔÙ»æÖÆ·½·¨£© void CGISDlg::OnTargetDelete() { - // TODO: �ڴ����������������� + // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë CString strID = ""; strID.Format("%d",m_targetSelID); @@ -6006,18 +6012,18 @@ void CGISDlg::OnTargetDelete() m_targetSelID = 0; } -//�ڵ�ͼ��ѡ�� +//ÔÚµØÍ¼ÉÏÑ¡µã afx_msg LRESULT CGISDlg::OnSendSelectTarget(WPARAM wParam, LPARAM lParam) { m_bSelectDropPoint = true; - //�������Ϊ��ѡ����ʽ + //ÉèÖÃÊó±êΪ¡°Ñ¡Ôñ¡±Ñùʽ m_map.SetCursorMode(3); return 0; } -//��ʾ��ע�� +//ÏÔʾ±ê×¢µã afx_msg LRESULT CGISDlg::OnShowPointInMap(WPARAM wParam, LPARAM lParam) { if (!m_bHaveAddMap) @@ -6027,8 +6033,8 @@ afx_msg LRESULT CGISDlg::OnShowPointInMap(WPARAM wParam, LPARAM lParam) if (0 == m_longGroundID) { - //���ڵ�ͼ����б�ע - AddPointShapeLayer(m_longGroundID, m_dlgLightRegion.m_dGroundLon, m_dlgLightRegion.m_dGroundLat, _T("GCS(LOS)"), _T("��ɫ"), RGB(255,0,0)); + //»ùÓÚµãͼ²ã½øÐбê×¢ + AddPointShapeLayer(m_longGroundID, m_dlgLightRegion.m_dGroundLon, m_dlgLightRegion.m_dGroundLat, _T("GCS(LOS)"), _T("ºìÉ«"), RGB(255,0,0)); } else { @@ -6040,12 +6046,12 @@ afx_msg LRESULT CGISDlg::OnShowPointInMap(WPARAM wParam, LPARAM lParam) return 0; } -//��ʾ�������� +//ÏÔʾ¿ÉÊÓÇøÓò afx_msg LRESULT CGISDlg::OnShowPointVisible(WPARAM wParam, LPARAM lParam) { if (m_visbleCircleLayerID < 0) { - m_gisManager->CreateEmptyAreaShapfile(m_visbleCircleLayerID,RGB(0,255,0),RGB(0,255,0),40); //��ɫ + m_gisManager->CreateEmptyAreaShapfile(m_visbleCircleLayerID,RGB(0,255,0),RGB(0,255,0),40); //ÂÌÉ« } for (int i=0;i<360;i++) @@ -6053,7 +6059,7 @@ afx_msg LRESULT CGISDlg::OnShowPointVisible(WPARAM wParam, LPARAM lParam) m_gisManager->AddOnePoint2Shapfile(m_visbleCircleLayerID,2,g_structPointVisible[i].lon,g_structPointVisible[i].lat); } - //�������Ϊ��ʱ�������������ʾ + //ÇøÓòÃæ»ýΪÁãʱ£¬Çå³ý¸ÃÇøÓòÏÔʾ if (0 == m_map.GetShapefile(m_visbleCircleLayerID).GetShape(0).GetArea()) { m_map.GetShapefile(m_visbleCircleLayerID).EditClear(); @@ -6068,12 +6074,12 @@ afx_msg LRESULT CGISDlg::OnShowPointVisible(WPARAM wParam, LPARAM lParam) return 0; } -//��ʾ���������� +//ÏÔʾ²»¿ÉÊÓÇøÓò afx_msg LRESULT CGISDlg::OnShowPointNotVisible(WPARAM wParam, LPARAM lParam) { if (m_notVisibleCircleLayerID < 0) { - m_gisManager->CreateEmptyAreaShapfile(m_notVisibleCircleLayerID,RGB(255,0,0),RGB(255,0,0),40); //��ɫ + m_gisManager->CreateEmptyAreaShapfile(m_notVisibleCircleLayerID,RGB(255,0,0),RGB(255,0,0),40); //ºìÉ« } for (int i=0;i<722;i++) @@ -6081,7 +6087,7 @@ afx_msg LRESULT CGISDlg::OnShowPointNotVisible(WPARAM wParam, LPARAM lParam) m_gisManager->AddOnePoint2Shapfile(m_notVisibleCircleLayerID,2,g_structPointNotVisible[i].lon,g_structPointNotVisible[i].lat); } - //�������Ϊ��ʱ�������������ʾ + //ÇøÓòÃæ»ýΪÁãʱ£¬Çå³ý¸ÃÇøÓòÏÔʾ if (0 == m_map.GetShapefile(m_notVisibleCircleLayerID).GetShape(0).GetArea()) { m_map.GetShapefile(m_notVisibleCircleLayerID).EditClear(); @@ -6096,7 +6102,7 @@ afx_msg LRESULT CGISDlg::OnShowPointNotVisible(WPARAM wParam, LPARAM lParam) return 0; } -//������������벻�����������ͼ�� +//Çå³ý¿ÉÊÓÇøÓòÓë²»¿ÉÊÓÇøÓò»æÖÆÍ¼²ã afx_msg LRESULT CGISDlg::OnSendClearShape(WPARAM wParam, LPARAM lParam) { if (m_visbleCircleLayerID > 0) @@ -6114,12 +6120,12 @@ afx_msg LRESULT CGISDlg::OnSendClearShape(WPARAM wParam, LPARAM lParam) return 0; } -//ʵʱ��ʾ�������� +//ʵʱÏÔʾ¿ÉÊÓÇøÓò afx_msg LRESULT CGISDlg::OnShowAreaVisible(WPARAM wParam, LPARAM lParam) { if (m_visiRealCircleLayerID < 0) { - m_gisManager->CreateEmptyAreaShapfile(m_visiRealCircleLayerID,RGB(0,255,0),RGB(0,255,0),40); //��ɫ + m_gisManager->CreateEmptyAreaShapfile(m_visiRealCircleLayerID,RGB(0,255,0),RGB(0,255,0),40); //ÂÌÉ« } for (int i=0;i <= int(wParam);i++) @@ -6127,7 +6133,7 @@ afx_msg LRESULT CGISDlg::OnShowAreaVisible(WPARAM wParam, LPARAM lParam) m_gisManager->AddOnePoint2Shapfile(m_visiRealCircleLayerID,2,g_structPointVisiReal[i].lon,g_structPointVisiReal[i].lat); } - //�������Ϊ��ʱ�������������ʾ + //ÇøÓòÃæ»ýΪÁãʱ£¬Çå³ý¸ÃÇøÓòÏÔʾ if (0 == m_map.GetShapefile(m_visiRealCircleLayerID).GetShape(0).GetArea()) { m_map.GetShapefile(m_visiRealCircleLayerID).EditClear(); @@ -6154,12 +6160,12 @@ afx_msg LRESULT CGISDlg::OnShowAreaVisible(WPARAM wParam, LPARAM lParam) return 0; } -//ʵʱ��ʾ���������� +//ʵʱÏÔʾ²»¿ÉÊÓÇøÓò afx_msg LRESULT CGISDlg::OnShowAreaNotVisible(WPARAM wParam, LPARAM lParam) { if (m_notVisiRealCircleLayerID < 0) { - m_gisManager->CreateEmptyAreaShapfile(m_notVisiRealCircleLayerID,RGB(255,0,0),RGB(255,0,0),40); //��ɫ + m_gisManager->CreateEmptyAreaShapfile(m_notVisiRealCircleLayerID,RGB(255,0,0),RGB(255,0,0),40); //ºìÉ« } for (int i=0;i <= int(wParam);i++) @@ -6167,7 +6173,7 @@ afx_msg LRESULT CGISDlg::OnShowAreaNotVisible(WPARAM wParam, LPARAM lParam) m_gisManager->AddOnePoint2Shapfile(m_notVisiRealCircleLayerID,2,g_structPointNotVisiReal[i].lon,g_structPointNotVisiReal[i].lat); } - //�������Ϊ��ʱ�������������ʾ + //ÇøÓòÃæ»ýΪÁãʱ£¬Çå³ý¸ÃÇøÓòÏÔʾ if (0 == m_map.GetShapefile(m_notVisiRealCircleLayerID).GetShape(0).GetArea()) { m_map.GetShapefile(m_notVisiRealCircleLayerID).EditClear(); @@ -6178,7 +6184,7 @@ afx_msg LRESULT CGISDlg::OnShowAreaNotVisible(WPARAM wParam, LPARAM lParam) return 0; } -//���ʵʱ���� +//Çå³ýÊµÊ±ÇøÓò afx_msg LRESULT CGISDlg::OnShowClearArea(WPARAM wParam, LPARAM lParam) { if (m_visiRealCircleLayerID > 0) @@ -6201,7 +6207,7 @@ afx_msg LRESULT CGISDlg::OnShowClearArea(WPARAM wParam, LPARAM lParam) return 0; } -//ɾ��ͨ�ӵȸ���ͼ�� +//ɾ³ýͨÊӵȸßÏßͼ²ã afx_msg LRESULT CGISDlg::OnDelLineLayer(WPARAM wParam, LPARAM lParam) { for (int i=0;i<20;i++) @@ -6211,7 +6217,7 @@ afx_msg LRESULT CGISDlg::OnDelLineLayer(WPARAM wParam, LPARAM lParam) m_map.GetShapefile(m_longContourLineID[i]).EditClear(); } - m_gisManager->CreateEmptyLineShapfile(m_longContourLineID[i],RGB(0,255,0),1.5); //��ɫ + m_gisManager->CreateEmptyLineShapfile(m_longContourLineID[i],RGB(0,255,0),1.5); //ÂÌÉ« if (m_longContourTextID[i] != 0) { @@ -6225,32 +6231,32 @@ afx_msg LRESULT CGISDlg::OnDelLineLayer(WPARAM wParam, LPARAM lParam) return 0; } -//���ӵ㵽ͨ�ӵȸ���ͼ�� +//Ìí¼Óµãµ½Í¨ÊӵȸßÏßͼ²ã afx_msg LRESULT CGISDlg::OnAddLineLayer(WPARAM wParam, LPARAM lParam) { structPoint *_structPoint = (structPoint*)wParam; m_gisManager->AddOnePoint2Shapfile(m_longContourLineID[(int)lParam],1,_structPoint->lon,_structPoint->lat); - //���߶� + //±ê»æ¸ß¶È if (m_longContourTextID[(int)lParam] == 0) { - //��ע + //±ê×¢ CString str; str.Format(_T("%dm"), (int)lParam * 500); - //������ͼ�� - CreateEmptyShapfile(m_longContourTextID[(int)lParam], 0, RGB(255,0,0)); //��ɫ + //´´½¨µãͼ²ã + CreateEmptyShapfile(m_longContourTextID[(int)lParam], 0, RGB(255,0,0)); //ºìÉ« - //Label���� + //Label¼¯ºÏ CLabels labesPtr; labesPtr = (m_map.GetShapefile(m_longContourTextID[(int)lParam])).GetLabels(); - CLabelCategory labelCategory = labesPtr.AddCategory(_T("��ɫ")); + CLabelCategory labelCategory = labesPtr.AddCategory(_T("ºìÉ«")); labelCategory.SetFontColor(RGB(255,0,0)); labelCategory.SetAlignment(1); labelCategory.SetFontBold(TRUE); - labelCategory.SetFontName(_T("����")); + labelCategory.SetFontName(_T("ËÎÌå")); labelCategory.SetFontSize(11); labesPtr.AddLabel(str, _structPoint->lon, _structPoint->lat + 0.0005, 0, 0); @@ -6261,14 +6267,14 @@ afx_msg LRESULT CGISDlg::OnAddLineLayer(WPARAM wParam, LPARAM lParam) return 0; } -//�����������GIS�Ի������Ϣ��Ӧ���� +//¿ÉÊÓÓò·ÖÎöµ½GIS¶Ô»°¿òµÄÏûÏ¢ÏìÓ¦º¯Êý afx_msg LRESULT CGISDlg::OnSendRegionToGis(WPARAM wParam, LPARAM lParam) { if (1 == (int)wParam) { g_bSelectDropPoint = true; - //�������Ϊ��ѡ����ʽ + //ÉèÖÃÊó±êΪ¡°Ñ¡Ôñ¡±Ñùʽ m_map.SetCursorMode(3); } else if (2 == (int)wParam) @@ -6303,21 +6309,21 @@ afx_msg LRESULT CGISDlg::OnSendRegionToGis(WPARAM wParam, LPARAM lParam) CalculateTwoPtsDistanceAzimuth(_distance, _angle, m_dlgLightRegion.m_dGroundLon,m_dlgLightRegion.m_dGroundLat,_structPoint->lon,_structPoint->lat, 3); CString str; - str.Format(_T("D:%.1fkm A:%.1f��"), _distance/1000, _angle); + str.Format(_T("D:%.1fkm A:%.1f¡ã"), _distance/1000, _angle); if (m_longLabelPlotID != 0) { ClearPointShape(m_longLabelPlotID); m_longLabelPlotID = 0; } - //��ע����ͷ�λ - AddPointShapeLayer(m_longLabelPlotID,_structPoint->lon,_structPoint->lat, str, _T("��ɫ"), RGB(255,0,0)); + //±ê×¢¾àÀëºÍ·½Î» + AddPointShapeLayer(m_longLabelPlotID,_structPoint->lon,_structPoint->lat, str, _T("ºìÉ«"), RGB(255,0,0)); } return 0; } -//��溽���ϵĵ� +//±ê»æº½ÏßÉϵĵã afx_msg LRESULT CGISDlg::OnDrawLinePoint(WPARAM wParam, LPARAM lParam) { if (m_longLinePointID > 0) @@ -6331,14 +6337,14 @@ afx_msg LRESULT CGISDlg::OnDrawLinePoint(WPARAM wParam, LPARAM lParam) { structPoint *_structPoint = (structPoint*)wParam; - //���ڵ�ͼ����б�ע - AddPointShapeLayer(m_longLinePointID, _structPoint->lon, _structPoint->lat, _T("Pt"), _T("��ɫ"), RGB(255,0,0)); + //»ùÓÚµãͼ²ã½øÐбê×¢ + AddPointShapeLayer(m_longLinePointID, _structPoint->lon, _structPoint->lat, _T("Pt"), _T("ºìÉ«"), RGB(255,0,0)); } return 0; } -//��ʾʵʱ��ײ������� +//ÏÔʾʵʱÅöײ¼ì²âÇøÓò afx_msg LRESULT CGISDlg::OnShowCrashArea(WPARAM wParam, LPARAM lParam) { if (1 == (int)wParam) @@ -6348,14 +6354,14 @@ afx_msg LRESULT CGISDlg::OnShowCrashArea(WPARAM wParam, LPARAM lParam) m_map.GetShapefile(m_crashAreaLayerID).EditClear(); } - m_gisManager->CreateEmptyAreaShapfile(m_crashAreaLayerID,RGB(0,255,0),RGB(0,255,0),40); //��ɫ + m_gisManager->CreateEmptyAreaShapfile(m_crashAreaLayerID,RGB(0,255,0),RGB(0,255,0),40); //ÂÌÉ« for (int i=0;i < 360;i++) { m_gisManager->AddOnePoint2Shapfile(m_crashAreaLayerID,2,g_structPointCrashReal[i].lon,g_structPointCrashReal[i].lat); } - //�������Ϊ��ʱ�������������ʾ + //ÇøÓòÃæ»ýΪÁãʱ£¬Çå³ý¸ÃÇøÓòÏÔʾ if (0 == m_map.GetShapefile(m_crashAreaLayerID).GetShape(0).GetArea()) { m_map.GetShapefile(m_crashAreaLayerID).EditClear(); @@ -6376,7 +6382,7 @@ afx_msg LRESULT CGISDlg::OnShowCrashArea(WPARAM wParam, LPARAM lParam) return 0; } -//�������÷�Χ +//»æÖÆ×÷Ó÷¶Î§ afx_msg LRESULT CGISDlg::OnSendDrawFight(WPARAM wParam, LPARAM lParam) { if (m_fightRegionLayerID > 0) @@ -6408,7 +6414,7 @@ afx_msg LRESULT CGISDlg::OnSendDrawFight(WPARAM wParam, LPARAM lParam) return 0; } -//���Ƹ߳����� +//»æÖƸ߳ÌÇøÓò afx_msg LRESULT CGISDlg::OnSendDrawDemRegion(WPARAM wParam, LPARAM lParam) { if (m_DemRegionLayerID[(int)lParam] > 0) @@ -6437,7 +6443,7 @@ afx_msg LRESULT CGISDlg::OnSendDrawDemRegion(WPARAM wParam, LPARAM lParam) return 0; } -//���ߵ�ͼ��λ +//ÔÚÏßµØÍ¼¶¨Î» afx_msg LRESULT CGISDlg::OnZoomToLocation(WPARAM wParam, LPARAM lParam) { //double lon = (double)wParam/1000000; @@ -6459,23 +6465,23 @@ void CGISDlg::OnMenuLightRegion() g_iDemPointNum = 0; } -//�رո̷߳����Ի���ʱ +//¹Ø±Õ¸ß³Ì·ÖÎö¶Ô»°¿òʱ afx_msg LRESULT CGISDlg::OnSendCloseDemAlt(WPARAM wParam, LPARAM lParam) { - //����̷߳���ͼ�� + //Çå³ý¸ß³Ì·ÖÎöͼ²ã for (int i=0;i 0) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(g_lDemAltDisLayerID[i]); g_lDemAltDisLayerID[i] = -1; } if (g_lDemPtNumLayerID[i] > 0) { - //������ĵ�ʸ��ͼ�� + //Çå³ý±ê»æµÄµãʸÁ¿Í¼²ã ClearPointShape(g_lDemPtNumLayerID[i]); g_lDemPtNumLayerID[i] = -1; } @@ -6484,14 +6490,14 @@ afx_msg LRESULT CGISDlg::OnSendCloseDemAlt(WPARAM wParam, LPARAM lParam) return 0; } -//�������� +//º½µãÇÐÈë void CGISDlg::OnMenuEntryPoint() { m_struMapOut.cmd = MapCmd_EntryPoint; ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } -//���߳����� +//±ê»æ¸ß³ÌÇøÓò void CGISDlg::OnMenuPlotdemArea() { if (m_dlgLightRegion.GetSafeHwnd()) @@ -6502,17 +6508,17 @@ void CGISDlg::OnMenuPlotdemArea() m_bPlotDemArea = !m_bPlotDemArea; } -//���ܣ��ı�CursorMode +//¹¦ÄÜ£º¸Ä±äCursorMode afx_msg LRESULT CGISDlg::OnSetMapCursorMode(WPARAM wParam, LPARAM lParam) { m_map.SetCursorMode((long)wParam); return 0; } -//���ܣ���ʾ�����ر�ǵ� +//¹¦ÄÜ£ºÏÔʾ»òÒþ²Ø±ê¼Çµã afx_msg LRESULT CGISDlg::OnDrawMarker(WPARAM wParam, LPARAM lParam) { - if (int(lParam) == 1) //���ر�ǵ� + if (int(lParam) == 1) //Òþ²Ø±ê¼Çµã { if (g_lMarkerLayerID[(int)wParam] >= 0) { @@ -6522,7 +6528,7 @@ afx_msg LRESULT CGISDlg::OnDrawMarker(WPARAM wParam, LPARAM lParam) g_bMarkerPlot[(int)wParam] = false; } - else //��ʾ��ǵ� + else //ÏÔʾ±ê¼Çµã { if (g_lMarkerLayerID[(int)wParam] >= 0) { @@ -6530,7 +6536,7 @@ afx_msg LRESULT CGISDlg::OnDrawMarker(WPARAM wParam, LPARAM lParam) g_lMarkerLayerID[(int)wParam] = -1; } - //���ڵ�ͼ����б�ע + //»ùÓÚµãͼ²ã½øÐбê×¢ AddPointShapeLayer(g_lMarkerLayerID[(int)wParam], g_iMarkerLon[(int)wParam], g_iMarkerLat[(int)wParam], g_iMarkerName[(int)wParam], _T(""), RGB(255,0,0)); g_bMarkerPlot[(int)wParam] = true; @@ -6539,7 +6545,7 @@ afx_msg LRESULT CGISDlg::OnDrawMarker(WPARAM wParam, LPARAM lParam) return 0; } -//�������վ��� +//Çå³ýµØÃæÕ¾±ê»æ void CGISDlg::OnMenuClearGCS() { if (m_gcsPtShpLayerID != -1) @@ -6549,16 +6555,16 @@ void CGISDlg::OnMenuClearGCS() } } -//�Ƿ���ʾADS�ɻ���Ϣ +//ÊÇ·ñÏÔʾADS·É»úÐÅÏ¢ void CGISDlg::OnMenuADSB() { m_bEnableShowADSB = !m_bEnableShowADSB; } -//�������˻� +//»æÖÆÎÞÈË»ú LRESULT CGISDlg::OnTimerDrawUAV(WPARAM wParam, LPARAM lParam) { - //δ���ص�ͼ������ + //δ¼ÓÔØµØÍ¼£¬·µ»Ø if (!m_bHaveAddMap) { return 0; @@ -6566,7 +6572,7 @@ LRESULT CGISDlg::OnTimerDrawUAV(WPARAM wParam, LPARAM lParam) if (!m_bEnableShowADSB) { - //�������ADS�ɻ��ı��ͼ�� + //Çå³ýËùÓÐADS·É»úµÄ±ê»æÍ¼²ã for(int i=0;i& vec_alt,vector& vec_lon,vector& vec_lat) { - //��ȡ����դ���� + //»ñÈ¡µØÐÎÕ¤¸ñÊý mapWindow::IGridHeaderPtr gridHeaderPtr = m_mapElevation.m_grid->GetHeader(); int n_gridrow = gridHeaderPtr->NumberRows; int n_gridcol = gridHeaderPtr->NumberCols; - //����γ������ת��Ϊդ�����к� + //½«¾­Î³¶È×ø±êת»¯ÎªÕ¤¸ñÐÐÁкŠvector pts_row,pts_col; TransformToXY(pts,pointNum,pts_row,pts_col); - //��դ�� + //ÏßÕ¤¸ñ»¯ VectorToRaster vectorToRaster; set > resultSet = vectorToRaster.GetRasterLineEx(pts_row,pts_col,n_gridrow-1,n_gridcol-1,1); double lat,lon; - //��ȡΣ�յ� + //ÌáȡΣÏÕµã for (auto it = resultSet.begin();it!=resultSet.end();it++) { vector pt = *it; int altValue = m_mapElevation.m_grid->GetValue(pt.at(1),pt.at(0)); - if (altValue>=alt) //Σ�յ㱣�� + if (altValue>=alt) //ΣÏյ㱣´æ { vec_alt.push_back(altValue); - //ת��Ϊ��γ�� + //ת»¯Îª¾­Î³¶È m_mapElevation.m_grid->CellToProj(pt.at(1),pt.at(0),&lon,&lat); vec_lon.push_back(lon); vec_lat.push_back(lat); @@ -6784,7 +6790,7 @@ void CGISDlg::GetDangerousTerrainPoints(double pts[][2],int pointNum,long alt,ve } } -//���Σ�յ��ε� +//±ê»æÎ£ÏÕµØÐεã int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) { /* @@ -6803,7 +6809,7 @@ int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) if(!m_mapElevation.m_isAdd) { - //BCGPMessageBox("δ���Ӹ߳���Ϣ���޷��жϵ�ǰ���պ����Ƿ�ȫ!"); + //BCGPMessageBox("δÌí¼Ó¸ß³ÌÐÅÏ¢£¬ÎÞ·¨Åжϵ±Ç°»ØÊÕº½ÏßÊÇ·ñ°²È«!"); return 0; } @@ -6817,7 +6823,7 @@ int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) return -1; } - //�½���ʱ���ͼ�� + //н¨ÁÙʱ±ê»æÍ¼²ã if (m_tempTerrainPointsLayerID==-1) { m_tempTerrainPointsLayerID = m_map.NewDrawing(1); @@ -6847,7 +6853,7 @@ int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) return 1; } -//���Σ�յ��ε� +//Çå³ýΣÏÕµØÐεã void CGISDlg::ClearDangerousTerrainPoints() { if (m_tempTerrainPointsLayerID!=-1) @@ -6858,7 +6864,7 @@ void CGISDlg::ClearDangerousTerrainPoints() } } -// ������ʱ�� +// »æÖÆÁÙʱÏß void CGISDlg::DrawTempLine(double m_Pts[][2],int pointNum) { //int pointNum = 6; @@ -6875,57 +6881,57 @@ void CGISDlg::DrawTempLine(double m_Pts[][2],int pointNum) linePts[pointNum].dX = m_Pts[0][0]; linePts[pointNum].dY = m_Pts[0][1]; - //Ŀ����SHPͼ�� + //Ä¿±ê±ê»æSHPͼ²ã if(m_tempshpPointLayerID == -1) { CreateEmptyShapfile(m_tempshpPointLayerID,0,LineClr[10]); } AddPoints2PointShapfile(m_tempshpPointLayerID,pts,pointNum); - //Ŀ����SHPͼ�� + //Ä¿±ê±ê»æSHPͼ²ã if(m_tempshpLineLayerID == -1) { CreateEmptyShapfile(m_tempshpLineLayerID,1,LineClr[10]); } AddPoints2LineShapfile(m_tempshpLineLayerID,linePts,pointNum+1); - //Label���� + //Label¼¯ºÏ CLabels labesPtr; labesPtr = m_map.GetShapefile(m_tempshpLineLayerID).GetLabels(); - CLabelCategory labelCategory = labesPtr.AddCategory(_T("��ɫ")); + CLabelCategory labelCategory = labesPtr.AddCategory(_T("ºìÉ«")); labelCategory.SetFontColor(/*RGB(255,0,0)*/LineClr[10]); labelCategory.SetAlignment(1); labelCategory.SetFontBold(TRUE); - labelCategory.SetFontName(LPCTSTR("����")); + labelCategory.SetFontName(LPCTSTR("ºÚÌå")); labelCategory.SetFontSize(12); labesPtr.SetAvoidCollisions(FALSE); CString strText = _T(""); - //��溽������� + //±ê»æº½µãµÄÃû³Æ for (long i=0; iCreateNewWithShapeID(_T(""), mapWindow::SHP_POLYLINE); - //Ŀ����ͼ������ͼ�� + //Ä¿±ê±ê»æÍ¼²ã¼ÓÈëµØÍ¼ÖÐ m_highLightLineLayerID = m_map.AddLayer(targetPtShape, true); mapWindow::IShapeDrawingOptionsPtr pShapeDrawingOption; @@ -6942,7 +6948,7 @@ void CGISDlg::DrawHighLightLine(const PtStruct *pts, const int ptNum) m_map.Redraw(); } -//�����ʱ�� +//Çå³ýÁÙʱÏß void CGISDlg::ClearTempLine() { if (m_tempshpPointLayerID!=-1) @@ -6960,7 +6966,7 @@ void CGISDlg::ClearTempLine() } } -//��������� +//Çå³ý¸ßÁÁÏß void CGISDlg::ClearHighLightLine() { if (m_highLightLineLayerID!=-1) @@ -6971,7 +6977,7 @@ void CGISDlg::ClearHighLightLine() } } -//ת��ΪGrid���� +//ת»¯ÎªGrid×ø±ê void CGISDlg::TransformToXY(double pts[][2],int pointNum,vector& ptsRow,vector& ptsCol) { mapWindow::IGridHeaderPtr gridHeaderPtr = m_mapElevation.m_grid->GetHeader(); @@ -6991,7 +6997,7 @@ void CGISDlg::TransformToXY(double pts[][2],int pointNum,vector& ptsRow,vec } -//��ȡ����㼯 +//ÌáÈ¡×ø±êµã¼¯ void CGISDlg::TransformToVectorPoints(DrawLineDataStruct lineDataGroup,vector& lineX,vector& lineY) { @@ -7002,84 +7008,84 @@ void CGISDlg::TransformToVectorPoints(DrawLineDataStruct lineDataGroup,vectorptPos;i--) //�����ƶ�����һλ + for (int i=lineNum;i>ptPos;i--) //ÍùºóÒÆ¶¯Êý×éһλ { editLineDataGroup.linePts[i] = editLineDataGroup.linePts[i-1]; - editLineDataGroup.linePts[i].nPt = editLineDataGroup.linePts[i].nPt + 1; //�޸ĺ���� + editLineDataGroup.linePts[i].nPt = editLineDataGroup.linePts[i].nPt + 1; //Ð޸ĺ½µãºÅ } - //�޸IJ�������� + //Ð޸IJåÈëµãÊý¾Ý editLineDataGroup.linePts[ptPos].dX = pt[0]; editLineDataGroup.linePts[ptPos].dY = pt[1]; - editLineDataGroup.linePts[ptPos].nPt = ptPos+1; //�޸ĺ���� - //�����޶�β�㺽��� + editLineDataGroup.linePts[ptPos].nPt = ptPos+1; //Ð޸ĺ½µãºÅ + //ÖØÐÂÐÞ¶©Î²µãº½µãºÅ editLineDataGroup.linePts[editLineDataGroup.linePointNum-1].nPt = 1; - //��������������Ϣ + //¸´ÖÆÆäËûÊôÐÔÐÅÏ¢ editLineDataGroup.linePts[ptPos].nL = editLineDataGroup.lineID; editLineDataGroup.linePts[ptPos].nH = editLineDataGroup.linePts[ptPos-1].nH; - //�޸ĵ㼯�ṹ + //Ð޸ĵ㼯½á¹¹ int ptNum = editLineDataGroup.pointNum; editLineDataGroup.pointNum = editLineDataGroup.pointNum + 1; - for (int j=ptNum;j>ptPos;j--) //�ƶ��㼯���� + for (int j=ptNum;j>ptPos;j--) //ÒÆ¶¯µã¼¯Êý×é { editLineDataGroup.pts[j] = editLineDataGroup.pts[j-1]; - editLineDataGroup.pts[j].nPt = editLineDataGroup.pts[j].nPt + 1; //�޸ĺ���� + editLineDataGroup.pts[j].nPt = editLineDataGroup.pts[j].nPt + 1; //Ð޸ĺ½µãºÅ } - //�޸IJ�������� + //Ð޸IJåÈëµãÊý¾Ý editLineDataGroup.pts[ptPos].dX = pt[0]; editLineDataGroup.pts[ptPos].dY = pt[1]; - editLineDataGroup.pts[ptPos].nPt = ptPos + 1; //�޸ĺ���� - //��������������Ϣ + editLineDataGroup.pts[ptPos].nPt = ptPos + 1; //Ð޸ĺ½µãºÅ + //¸´ÖÆÆäËûÊôÐÔÐÅÏ¢ editLineDataGroup.pts[ptPos].nL = editLineDataGroup.lineID; editLineDataGroup.pts[ptPos].nH = editLineDataGroup.pts[ptPos-1].nH; } -//������ɾ���� +//Êý×éÖÐɾ³ýµã bool CGISDlg::RemovePointInLine(int ptPos,DrawLineDataStruct& backLineDataGroup) { - if (backLineDataGroup.pointNum<=2) //ֱ�߲�����ɾ�ڵ� + if (backLineDataGroup.pointNum<=2) //Ö±Ïß²»ÄÜÔÙɾ½Úµã { return false; } - // �޸��߶νṹ + // ÐÞ¸ÄÏ߶νṹ int lineNum = backLineDataGroup.linePointNum; backLineDataGroup.linePointNum = backLineDataGroup.linePointNum - 1; - for (int i=ptPos;i