diff --git a/GISControlDlg.aps b/GISControlDlg.aps index 5bba7d2..72999e4 100644 Binary files a/GISControlDlg.aps and b/GISControlDlg.aps differ diff --git a/GISDlg.cpp b/GISDlg.cpp index 283aae5..51b0894 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++) { @@ -276,7 +277,7 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) } } - //º½ÏßÊÇ·ñÒѾ­±ê»æµÄ±êÖ¾ + //�����Ƿ��Ѿ����ı�־ for (i=0; i<14; i++) { m_pHaveDrawLineFlag[i] = false; @@ -285,7 +286,7 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/) m_pLineSectDlg = NULL; m_pTargetDlg = NULL; - //µÚÒ»¸öº½µãÊÇ·ñÒѾ­±ê»æ + //��һ�������Ƿ��Ѿ���� m_bDesignFirstPoint = true; m_pFlyLineDesign = NULL; @@ -294,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; @@ -440,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) @@ -543,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) @@ -589,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); @@ -620,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); @@ -628,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); @@ -657,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"; @@ -695,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); @@ -736,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); @@ -749,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; @@ -782,7 +783,7 @@ void CGISDlg::OnAddMapData() path=dlg.GetNextPathName(pos); Openlocalfile(path); } - // ¶ÁÈ¡½ÚµãÅäÖÃÐÅÏ¢ + // ��ȡ�ڵ�������Ϣ CString fileName = GetSoftwareCurrentDirectory() + "\\map.ini"; ::WritePrivateProfileString("map","layer",path,fileName); @@ -790,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; @@ -821,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; @@ -839,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() { @@ -871,7 +872,7 @@ void CGISDlg::OnMapZoomIn() } -//µØÍ¼ËõС +//��ͼ��С void CGISDlg::OnMapZoomOut() { m_bSetPointModel=FALSE; @@ -885,7 +886,7 @@ void CGISDlg::OnMapZoomOut() m_bSelectFeatureFlag = false; } -//µØÍ¼ÂþÓÎ +//��ͼ���� void CGISDlg::OnMapMove() { m_bSetPointModel=FALSE; @@ -907,7 +908,7 @@ void CGISDlg::OnMapMove() } -//¹¦ÄÜ£ºµØÍ¼Ñ¡Ôñ +//���ܣ���ͼѡ�� void CGISDlg::OnMapSelect() { m_bSetPointModel=FALSE; @@ -918,7 +919,7 @@ void CGISDlg::OnMapSelect() m_bLDSetPoint = FALSE; - if (!m_bEditLine) //·Çº½Ï߱༭ģʽÏ¿ÉÑ¡ + if (!m_bEditLine) //�Ǻ��߱༭ģʽ�¿�ѡ { m_bSelectFeatureFlag = true; // by Wu } @@ -929,7 +930,7 @@ void CGISDlg::OnMapSelect() } -//µØÍ¼È«¾°ÏÔʾ +//��ͼȫ����ʾ void CGISDlg::OnMapFullScreen() { m_bSetPointModel=FALSE; @@ -945,7 +946,7 @@ void CGISDlg::OnMapFullScreen() } -//¹¦ÄÜ£º²âÁ¿2µãÖ®¼äµÄ¾àÀë +//���ܣ�����2��֮��ľ��� void CGISDlg::OnSurvey() { m_bSelectFeatureFlag = false; @@ -958,7 +959,7 @@ void CGISDlg::OnSurvey() m_bLDSetPoint = FALSE; m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone); - //¶àµã²â¾à + //����� if (m_bPolylineMeasure) { ClearPloylineMeasure(); @@ -972,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); @@ -1000,7 +1001,7 @@ void CGISDlg::OnEraseTrack() EraseTrack(2); } - //Çå³ýº½¼£ + //������� void CGISDlg::EraseTrack(int uavid) { if (uavid<0||uavid>2) @@ -1014,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]); @@ -1035,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); @@ -1053,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; @@ -1075,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; @@ -1105,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(); } @@ -1156,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) @@ -1178,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) @@ -1197,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; } @@ -1217,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) @@ -1233,7 +1234,7 @@ void CGISDlg::Openlocalfile(CString file) if(error==1) { - CString msg="ÎÞ·¨´ò¿ª "+file; + CString msg="�޷��� "+file; AfxMessageBox(msg); } @@ -1258,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 ); @@ -1285,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 ); @@ -1295,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 ); @@ -1305,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 ); @@ -1315,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 ); @@ -1326,7 +1327,7 @@ void CGISDlg::OnShowRMenu() } /* - //º½Ïß6 + //����6 if (m_pHaveDrawLineFlag[5]) { menu.CheckMenuItem( IDM_SHOW_LINE6, MF_BYCOMMAND | MF_CHECKED ); @@ -1336,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 ); @@ -1345,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 ); @@ -1354,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 ); @@ -1363,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 ); @@ -1374,7 +1375,7 @@ void CGISDlg::OnShowRMenu() } */ - //º½Ïß14 »ØÊÕº½Ïß + //����14 ���պ��� if (m_pHaveDrawLineFlag[13]) { menu.CheckMenuItem( ID_SHOW_PD10, MF_BYCOMMAND | MF_CHECKED ); @@ -1384,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 ); @@ -1394,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 ); @@ -1449,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 ); @@ -1457,12 +1458,12 @@ void CGISDlg::OnShowRMenu() } -//¹¦ÄÜ£º×Ô¶¯ÂþÓÎ,¼´±£Ö¤ÎÞÈË»ú±ê»æÔÚµØÍ¼µÄÖÐÐÄ -//ʵÏÖÔ­Àí£º1£©ÏÈ»ñµÃµØÍ¼µ±Ç°µÄÏÔÊ¾ÇøÓò -// 2£©ÔÙ¸ù¾ÝÎÞÈË»úµÄµ±Ç°×ø±ê£¬Òƶ¯µØÍ¼ +//���ܣ��Զ�����,����֤���˻�����ڵ�ͼ������ +//ʵ��ԭ����1���Ȼ�õ�ͼ��ǰ����ʾ���� +// 2���ٸ������˻��ĵ�ǰ���꣬�ƶ���ͼ void CGISDlg::AutomaticMoveMap(double dX, double dY) { - //¼ÆËãÿ¸öÏñËØµÄ¾­Î³¶ÈÖµ + //����ÿ�����صľ�γ��ֵ double lonDegreePerPixel = 0; double latDegreePerPixel = 0; @@ -1484,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; @@ -1493,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; @@ -1505,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; @@ -1532,7 +1533,7 @@ void CGISDlg::OnShowLonLatInfo() -//¹¦ÄÜ:ɾ³ýËùÓÐͼ²ã +//����:ɾ������ͼ�� void CGISDlg::OnRemoveAllLayers() { if (!m_bHaveAddMap) @@ -1540,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) @@ -1714,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,7 +1756,7 @@ END_EVENTSINK_MAP() -// Êó±ê×ó¼üµ¥»÷ʼþ +// �����������¼� void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) { double dX = 0; @@ -1767,7 +1768,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; @@ -1777,14 +1778,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) @@ -1792,23 +1793,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) @@ -1829,22 +1830,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); @@ -1853,346 +1854,150 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) DrawDistLabel(m_polylineMeasureLabelLayerID,m_posPolylineMeasurePts,m_numPolylineMeasurePts,1); } - //ÓÒ¼ü¶àµã²âÁ¿½áÊø + //�Ҽ����������� if (m_bPolylineMeasure && (Button == 2)) { - //ɾ³ýÒѾ­±ê»æµÄÖ±Ïß - m_map.ClearDrawing(m_tempLayerID); - m_bMeasureDrag = false; - m_bEndMeasure = true; - m_numPolylineMeasurePts = 0; + EndPolylineMessure(); return; } /*******************************************************************************************************/ /*******************************************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; } - if (m_lineSelectedID>=0) + if (m_lineSelectedID>0) { m_editLineDataGroup = m_ShowedLineDataList[m_lineSelectedID]; DrawHighLightLine(m_editLineDataGroup.linePts,m_editLineDataGroup.linePointNum); } } - //»ØÊÕº½Ï߱༭ + //���պ��߱༭ if (m_bEditLine && (Button == 1)) { - if (m_lineSelectedID<0) + 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);//Çå³ý¾àÀëºÍ·½Î»½Ç±ê»æ + m_map.ClearDrawing(m_distLabelLayer);//�������ͷ�λ�DZ�� } - //Çå³ý±ê»æµÄº½Ïß + //�������� 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; } } ShowModifyPointDlg(selectedPointID); - - /* - CModifyLinePointDlg dlg; - if (m_lineSelectedID!=11) //·Ç»ØÊÕº½Ïߣ¬Òþ²ØÉèÖÃÅÌÐýµã - { - dlg.SetCirclingPointRBTNVisible(false); - } - dlg.SetLonLat(m_editLineDataGroup.pts[selectedPointID].dX,m_editLineDataGroup.pts[selectedPointID].dY); - if (circlingPointID == selectedPointID) //Ñ¡ÖÐÅÌÐýµã£¬ÉèÖð´Å¥Ñ¡ÖÐ - { - dlg.CheckedCirclingPoint(); - } - if (dlg.DoModal() == IDOK) - { - double targetLat,targetLon; - dlg.GetLonLat(targetLon,targetLat); - //bool bb = dlg.IsCirclingPoint(); - if (m_lineSelectedID==11) //»ØÊÕº½Ïß - { - if (circlingPointID == selectedPointID) //¶ÔÒѾ­ÊÇÅÌÐýµã½øÐÐÖØÐÂÉèÖà - { - if (!dlg.IsCirclingPoint()) //´æ´¢ÅÌÐýµã - { - circlingPointID = -1; - } - } - if (dlg.IsCirclingPoint()) //´æ´¢ÅÌÐýµã - { - circlingPointID = selectedPointID; - } - } - - - //ÐÞ¸ÄÏß×ø±ê - m_editLineDataGroup.linePts[selectedPointID].dX = targetLon; - m_editLineDataGroup.linePts[selectedPointID].dY = targetLat; - //Ð޸ĵã×ø±ê - m_editLineDataGroup.pts[selectedPointID].dX = targetLon; - m_editLineDataGroup.pts[selectedPointID].dY = targetLat; - - //Çå³ý±ê»æµÄº½Ïß - ClearDrawedLine(m_editLineDataGroup.lineID-1); - //±ê»æº½Ïß - DrawFlyLine(m_editLineDataGroup); - } - else - { - //return; - } return; - */ } ShowEditSaveDlg(); - - /* - CSaveLineEditSetting saveDlg; - saveDlg.DoModal(); - int saveStatus = saveDlg.GetSaveStatus(); //-1Ϊ²»±£´æ£¬0Ϊ¼ÌÐø±à¼­£¬1Ϊ±£´æ - if (saveStatus==-1) - { - //Çå³ý±ê»æµÄº½Ïß - ClearDrawedLine(m_editLineDataGroup.lineID-1); - //»Ö¸´Î´±à¼­×´Ì¬ - DrawFlyLine(m_ShowedLineDataList[m_lineSelectedID]); - //Çå³ý¾àÀë±ê»æ - m_map.ClearDrawing(m_distLabelLayer); - - m_bEditLine = false; - m_bSelectFeatureFlag = false; - m_lineSelectedID = -1; - return; - } - else if (saveStatus==0) - { - return; - } - - // - CString dirName = ""; - switch (m_lineSelectedID) - { - case 1: - dirName = "º½Ïß1\\"; - break; - case 2: - dirName = "º½Ïß2\\"; - break; - case 3: - dirName = "º½Ïß3\\"; - break; - case 4: - dirName = "µØÃ滬Ðк½Ïß\\"; - break; - case 5: - dirName = "ΧÀ¸º½Ïß\\"; - break; - case 6: - dirName = "¿ÕͶº½Ïß\\"; - break; - case 10: - dirName = "ÅܵÀº½Ïß\\"; - break; - case 11: - dirName = "»ØÊÕº½Ïß\\"; - break; - case 13: - dirName = "ͨ³¡º½Ïß\\"; - break; - } - - //ÖØÐ±£´æ»ØÊÕº½Ïß - CString filename; - CString strRouteFileDir = GetSoftwareCurrentDirectory() + _T("\\Route\\") + dirName; - - TCHAR s[10000]; - s[0]=0; - CFileDialog dlg(FALSE, _T(".route"), _T("*.route")); - dlg.m_ofn.lpstrTitle=_T("±£´æº½ÏßÎļþ"); - dlg.m_ofn.lpstrFile=s; - dlg.m_ofn.nMaxFile=sizeof(s)/sizeof(TCHAR); - - TCHAR filter[500]=_T("º½ÏßÎļþ(*.route)\0*.route\0"); - dlg.m_ofn.lpstrFilter=filter; - dlg.m_ofn.Flags|=OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_CREATEPROMPT; - dlg.m_ofn.lpstrInitialDir = strRouteFileDir; - - if (IDOK == dlg.DoModal()) - { - filename = dlg.GetPathName(); - //±£´æÎļþ - FILE* fp = fopen(filename,"w"); - fprintf(fp,"%d, 0, %lf, %lf, %.2lf, 0, 00, 03\n", m_editLineDataGroup.lineID, 0.0, 0.0, 0.0); - int n_linePts = m_editLineDataGroup.pointNum; - for (int i=1;i<=n_linePts;i++) - { - PtStruct linePt = m_editLineDataGroup.pts[i-1]; - if (iShowLonLat(dX, dY); @@ -2250,7 +2055,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++; @@ -2260,14 +2065,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; @@ -2294,15 +2099,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 ); @@ -2312,7 +2117,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 ); @@ -2322,7 +2127,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 ); @@ -2332,7 +2137,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 ); @@ -2342,7 +2147,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 ); @@ -2353,7 +2158,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 ); @@ -2363,7 +2168,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 ); @@ -2372,7 +2177,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 ); @@ -2381,7 +2186,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 ); @@ -2390,7 +2195,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 ); @@ -2401,7 +2206,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 ); @@ -2411,7 +2216,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 ); @@ -2421,7 +2226,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 ); @@ -2476,55 +2281,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); @@ -2532,12 +2337,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); @@ -2547,12 +2352,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; @@ -2565,7 +2370,7 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) } } - //Ñ¡Ôñµ¼Òýµã + //ѡ������ if (m_bGuideMode && (Button == 1)) { m_bGuideMode = false; @@ -2601,10 +2406,10 @@ void CGISDlg::MouseDownMap1(short Button, short Shift, long x, long y) } -//Êó±êË«»÷ʼþ +//���˫���¼� void CGISDlg::MouseDblClickMap1() { - //½áÊø¸ß³Ì·ÖÎö + //�����̷߳��� if (g_bDemAnalysising) { g_bDemAnalysising = false; @@ -2621,13 +2426,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)) { @@ -2638,23 +2443,31 @@ void CGISDlg::MouseDblClickMap1() { if (m_distLabelLayer!=-1) { - m_map.ClearDrawing(m_distLabelLayer);//Çå³ý¾àÀëºÍ·½Î»½Ç±ê»æ + m_map.ClearDrawing(m_distLabelLayer);//�������ͷ�λ�DZ�� } RemovePointInLine(ptSelected,m_editLineDataGroup); - //Çå³ý±ê»æµÄº½Ïß + //�������� ClearDrawedLine(m_editLineDataGroup.lineID-1); - //±ê»æº½Ïß + //��溽�� DrawFlyLine(m_editLineDataGroup); } } /*********************************************************************************************/ + if (g_b981APad) //ƽ��ģʽ˫�������� + { + if (m_bPolylineMeasure) + { + EndPolylineMessure(); + } + } + } -// Êó±ê×ó¼üÞôÏÂÒÆ¶¯Ê¼þ +// �����������ƶ��¼� void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) { if (Button == 2) @@ -2662,7 +2475,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) return; } - //ÏÔʾ¾­Î³¶È×ø±êʱ + //��ʾ��γ������ʱ if (m_bHaveShowLonLatDlg && m_pLonLatDlg ->GetAutoEditStatus()) { double dX = 0; @@ -2670,25 +2483,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)) { @@ -2698,7 +2511,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) //·Ç±ÕºÏº½Ïß + if (m_editLineDataGroup.pts[n_pts-1].ch1==2) //�DZպϺ��� { isClosedLine = false; } @@ -2712,28 +2525,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) //·Ç±ÕºÏº½ÏßÖÕµã + if (m_iPtSel==n_pts-1 && !isClosedLine) //�DZպϺ����յ� { 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); @@ -2742,7 +2555,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) @@ -2761,25 +2574,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); } } @@ -2787,7 +2600,7 @@ void CGISDlg::MouseMoveMap1(short Button, short Shift, long x, long y) /****************************************************************************************************************/ - //к½ÏßÉè¼ÆÊ± + //�º������ʱ if (m_bHaveShowLineDesign) { double dX = 0; @@ -2795,20 +2608,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) { @@ -2820,10 +2633,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); } @@ -2832,49 +2645,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)); @@ -2884,30 +2697,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); @@ -2926,15 +2739,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) @@ -2945,30 +2758,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); @@ -2976,28 +2789,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(); @@ -3008,17 +2821,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; @@ -3031,34 +2844,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(); @@ -3072,11 +2885,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; @@ -3085,35 +2898,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; } @@ -3122,14 +2935,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); @@ -3146,11 +2959,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; @@ -3168,17 +2981,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); } } } @@ -3186,42 +2999,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); @@ -3240,13 +3053,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; @@ -3264,17 +3077,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); } } } @@ -3282,31 +3095,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); @@ -3317,13 +3130,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); @@ -3340,7 +3153,7 @@ void CGISDlg::ClearPloylineMeasure() m_map.Redraw(); } -//¹¦ÄÜ£º¹Ø±ÕÏÔʾ¾­¶È¡¢Î³¶ÈµÄÈí¼þ½çÃæ +//���ܣ��ر���ʾ���ȡ�γ�ȵ��������� LRESULT CGISDlg::OnCloseLonLatDialog(WPARAM wParam, LPARAM lParam) { OnShowLonLatInfo(); @@ -3350,7 +3163,7 @@ LRESULT CGISDlg::OnCloseLonLatDialog(WPARAM wParam, LPARAM lParam) -//¹¦ÄÜ£º¹Ø±ÕÏÔʾ2µãÖ®¼äµÄ¾­Î³¶È×ø±êµÄÈí¼þ½çÃæ +//���ܣ��ر���ʾ2��֮��ľ�γ��������������� LRESULT CGISDlg::OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam) { OnSurvey(); @@ -3359,14 +3172,14 @@ LRESULT CGISDlg::OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam) } -//¹¦ÄÜ£º½øÐк½ÏßÉè¼Æ£¬µ¯³öº½ÏßÊý¾Ý¶Ô»°¿ò +//���ܣ����к�����ƣ������������ݶԻ��� void CGISDlg::OnFlyLineDesign() { //return; - //ÒѾ­¼ÓÔØµØÍ¼ + //�Ѿ����ص�ͼ if (m_bHaveAddMap) { - //ÒѾ­´¦ÓÚº½ÏßÉè¼Æ×´Ì¬Ê±£¬·µ»Ø + //�Ѿ����ں������״̬ʱ������ if (m_bLineDesign) { return; @@ -3375,46 +3188,46 @@ 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; @@ -3422,22 +3235,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) @@ -3513,7 +3326,7 @@ void CGISDlg::ClearDrawingInLineDesign() m_map.ClearLabels(m_designLineLayerID); } -// Êó±ê¹öÂÖ¹ö¶¯Ê¼þ +// �����ֹ����¼� void CGISDlg::MouseWheel(short zDelta) { m_bSetPointModel=FALSE; @@ -3527,17 +3340,17 @@ 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; @@ -3546,17 +3359,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) @@ -3565,35 +3378,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 ); } @@ -3721,7 +3534,7 @@ void CGISDlg::OnShowCtrlMenu() void CGISDlg::OnMenuLinePtCtrlShow() { - //Êó±êÓÒ¼üµã»÷ʱ£¬µ¯³ö¿ì½Ý²Ëµ¥ + //����Ҽ����ʱ��������ݲ˵� if (g_b981APad) { OnShowRMenu(); @@ -3745,46 +3558,46 @@ 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 =""; @@ -3792,10 +3605,10 @@ BOOL CGISDlg::OnToolTipsNotify(UINT id,NMHDR* pNMHDR,LRESULT* pResult) return true; } -//¹¦ÄÜ£ºÉ¾³ý¸ø¶¨IDºÅµÄÄ¿±êµã +//���ܣ�ɾ������ID�ŵ�Ŀ��� void CGISDlg::DeleteTarget(const int nPt) { - //Åжϸø¶¨µÄÄ¿±êµãºÅÊÇ·ñºÏ·¨ + //�жϸ�����Ŀ�����Ƿ�Ϸ� //if (nPt >= MAX_TARGET_NUM) //{ // return; @@ -3803,25 +3616,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); @@ -3966,7 +3779,7 @@ void CGISDlg::DrawDesignLineData() BOOL b= m_map.MoveLayerUp(index); int i = 0; - //»æÖƺ½µã¼°Æä±ê×¢ + //���ƺ��㼰���ע for (i=0; i (m_designLinePointNum-1)) || (deletePtID<0)) @@ -4033,66 +3846,66 @@ 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); } @@ -4102,7 +3915,7 @@ void CGISDlg::CreateEmptyShapfile(long &shpLayerID, const int shpType, const uns return; } - //Ôö¼Ófield±íµ¥1 + //����field����1 mapWindow::IFieldPtr fieldPtr1; fieldPtr1.CreateInstance("MapWinGIS.Field"); @@ -4110,7 +3923,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"); @@ -4118,29 +3931,31 @@ 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 = 16; - pShapeDrawingOption->SetDefaultPointSymbol(mapWindow::tkDefaultPointSymbol::dpsDiamond); - //pShapeDrawingOption->PointType = mapWindow::tkPointSymbolType::ptSymbolStandard; - //pShapeDrawingOption->PointSidesCount = 4; + pShapeDrawingOption->PointSize = 20; + //pShapeDrawingOption->SetDefaultPointSymbol(mapWindow::tkDefaultPointSymbol::dpsDiamond); + //pShapeDrawingOption->PutFillColor(drawColor); + //pShapeDrawingOption->PutPointSize(18); + pShapeDrawingOption->PutPointType(mapWindow::tkPointSymbolType::ptSymbolStandard); + pShapeDrawingOption->PutPointShape(mapWindow::tkPointShapeType::ptShapeStar); //m_map.SetShapeLayerPointType(shpLayerID, mapWindow::ptDiamond); //m_map.SetShapeLayerStippleColor(shpLayerID, drawColor); } - 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; } @@ -4149,9 +3964,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; @@ -4198,29 +4013,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); } @@ -4264,25 +4079,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); @@ -4294,13 +4109,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); } @@ -4308,71 +4123,71 @@ 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 ) @@ -4380,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); @@ -4453,40 +4268,40 @@ void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData) CString strText = _T(""); - //±ê»æº½µãµÄÃû³Æ + //��溽������� for (long i=0; i(m_rcDesignGISWindow.left*cx); @@ -4495,15 +4310,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); } @@ -4514,7 +4329,7 @@ void CGISDlg::OnMouseMove(UINT nFlags, CPoint point) } -//¹¦ÄÜ£º´´½¨¸¡¶¯¹¤¾ßÀ¸ +//���ܣ��������������� void CGISDlg::CreateFloatToolBar() { CBitmap bm; @@ -4524,18 +4339,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)); @@ -4552,12 +4367,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); @@ -4615,7 +4430,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); @@ -4625,30 +4440,30 @@ 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; } @@ -4656,7 +4471,7 @@ void CGISDlg::OnGuideMode1() m_guidePointMode = 1; - m_bGuideMode = true; //µ¼Òý·ÉÐÐÄ£Ê½ÎªÕæ + m_bGuideMode = true; //��������ģʽΪ�� //2023.4.3 JackLiu /* @@ -4672,13 +4487,13 @@ void CGISDlg::OnGuideMode1() } -//¹¦ÄÜ£ºµ¼Òý·½Ê½¶þ£¬ÏòÖ÷³ÌÐò·¢Ë͵¼Òýµã×ø±ê +//���ܣ�������ʽ�������������͵��������� void CGISDlg::OnGuideMode2() { - //ÅжϵØÍ¼ÊÇ·ñÒѾ­¼ÓÔØ£¬Ã»ÓмÓÔØ·µ»Ø - if ( !m_bHaveAddMap ) //ûÓмÓÔØµØÍ¼? + //�жϵ�ͼ�Ƿ��Ѿ����أ�û�м��ط��� + if ( !m_bHaveAddMap ) //û�м��ص�ͼ? { - AfxMessageBox( _T( "ÇëÏȼÓÔØµØÍ¼£¡" ) ); + AfxMessageBox( _T( "���ȼ��ص�ͼ��" ) ); return; } @@ -4686,7 +4501,7 @@ void CGISDlg::OnGuideMode2() m_guidePointMode = 2; - m_bGuideMode = true; //µ¼Òý·ÉÐÐÄ£Ê½ÎªÕæ + m_bGuideMode = true; //��������ģʽΪ�� //2023.4.3 JackLiu @@ -4702,107 +4517,107 @@ 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; } } -//¹¦ÄÜ£º´¦Àí¿ì½Ý²Ëµ¥Ó뺽ÏßÏÔʾÏà¹ØµÄ²Ù×÷ -// 1)º½ÏßÒѾ­±ê×¢£¬Çå³ýÏÔʾ -// 2)º½Ïßδ±ê×¢£¬½øÐÐÏÔʾ -//ÊäÈ룺º½Ïß±àºÅlineID +//���ܣ�������ݲ˵��뺽����ʾ��صIJ��� +// 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)*/); } @@ -4813,7 +4628,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 ) @@ -4862,14 +4677,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) @@ -4877,38 +4692,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]; @@ -4921,53 +4736,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); @@ -4975,12 +4790,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(); @@ -5002,18 +4817,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) @@ -5025,11 +4840,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(); @@ -5039,18 +4854,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; } @@ -5058,24 +4873,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; @@ -5083,7 +4898,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); @@ -5109,7 +4924,7 @@ void CGISDlg::MouseUpMap1(short Button, short Shift, long x, long y) } -//¹¦ÄÜ£ºÊÇ·ñ½øÐÐ×Ô¶¯ÂþÓÎ +//���ܣ��Ƿ�����Զ����� void CGISDlg::OnAutoMove() { if (m_bAutoMove) @@ -5124,12 +4939,12 @@ void CGISDlg::OnAutoMove() } -void CGISDlg::OnDesignLine() //º½ÏßÉè¼Æ +void CGISDlg::OnDesignLine() //������� { if (m_bHaveAddMap) { - //ÒѾ­´¦ÓÚº½ÏßÉè¼Æ×´Ì¬Ê±£¬·µ»Ø + //�Ѿ����ں������״̬ʱ������ if (m_bLineDesign) { return; @@ -5138,32 +4953,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; //�������ģʽ���� } } @@ -5181,11 +4996,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; @@ -5199,31 +5014,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); @@ -5256,7 +5071,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); @@ -5268,7 +5083,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; - m_bSelectFeatureFlag = false; ClearHighLightLine(); } + m_bSelectFeatureFlag = false; } //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; @@ -5547,61 +5362,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); @@ -5609,7 +5424,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); @@ -5617,7 +5432,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); @@ -5625,9 +5440,9 @@ void CGISDlg::OnBindline10() -void CGISDlg::OnLayermng() //ͼ²ã¹ÜÀí +void CGISDlg::OnLayermng() //ͼ����� { - // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë + // TODO: �ڴ����������������� m_Layer->ShowWindow(SW_SHOW); } @@ -5635,7 +5450,7 @@ void CGISDlg::OnLayermng() //ͼ void CGISDlg::OnAddgtarget() { - // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë + // TODO: �ڴ����������������� } @@ -5643,9 +5458,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); //} @@ -5659,11 +5474,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; @@ -5686,7 +5501,7 @@ void CGISDlg::SetRouteLine(int iLine ,PTLIST *pList) // } // else // { -// MessageBox("º½Â·Îļþ´íÎó£¡","µØÍ¼"); +// MessageBox("��·�ļ�����","��ͼ"); // pList->RemoveAll(); // } @@ -5704,8 +5519,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); // @@ -5718,7 +5533,7 @@ void CGISDlg::SetRouteLine(int iLine ,PTLIST *pList) void CGISDlg::OnNlinedesign() { - // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë + // TODO: �ڴ����������������� m_bLDSetPoint = TRUE; @@ -5743,7 +5558,7 @@ void CGISDlg::OnNlinedesign() void CGISDlg::OnUpdateNlinedesign(CCmdUI *pCmdUI) { - // TODO: ÔÚ´ËÌí¼ÓÃüÁî¸üÐÂÓû§½çÃæ´¦Àí³ÌÐò´úÂë + // TODO: �ڴ�������������û����洦��������� } @@ -5766,8 +5581,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; } @@ -5786,37 +5601,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]); } @@ -5828,7 +5643,7 @@ void CGISDlg::OnBindHs11() ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); } -//µç×ÓΧÀ¸ 12 +//������ 12 void CGISDlg::OnShowTc12() { SetFlyLineShowStatus(12); @@ -5852,7 +5667,7 @@ void CGISDlg::OnSize(UINT nType, int cx, int cy) { CBCGPDialog::OnSize(nType, cx, cy); - // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë + // TODO: �ڴ˴�������Ϣ����������� if (m_map.GetSafeHwnd()) { CRect rc; @@ -5917,11 +5732,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); @@ -5937,34 +5752,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 @@ -5973,11 +5788,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); @@ -5985,11 +5800,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); @@ -6013,7 +5828,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); @@ -6024,7 +5839,7 @@ void CGISDlg::OnMove(int x, int y) { CBCGPDialog::OnMove(x, y); - // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë + // TODO: �ڴ˴�������Ϣ����������� CRect rc; GetClientRect(&rc); ClientToScreen(&rc); @@ -6046,21 +5861,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); @@ -6072,7 +5887,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"; @@ -6091,7 +5906,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); @@ -6147,7 +5962,7 @@ void CGISDlg::OnShowWindow(BOOL bShow, UINT nStatus) { CBCGPDialog::OnShowWindow(bShow, nStatus); - // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë + // TODO: �ڴ˴�������Ϣ����������� if(bShow) { HCURSOR hCur = LoadCursor(NULL,IDC_ARROW); @@ -6171,10 +5986,10 @@ void CGISDlg::OnShowWindow(BOOL bShow, UINT nStatus) //ReadTargetIni(true); } -//ɾ³ýÑ¡ÖеÄÄ¿±êµã£¨ÒòΪ²»ÄÜÈ·¶¨Í¼²ãÖеĵ㣬ËùÒÔ²ÉÓÃÈ«²¿É¾³ýÔÙ»æÖÆ·½·¨£© +//ɾ��ѡ�е�Ŀ��㣨��Ϊ����ȷ��ͼ���еĵ㣬���Բ���ȫ��ɾ���ٻ��Ʒ����� void CGISDlg::OnTargetDelete() { - // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë + // TODO: �ڴ����������������� CString strID = ""; strID.Format("%d",m_targetSelID); @@ -6191,18 +6006,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) @@ -6212,8 +6027,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 { @@ -6225,12 +6040,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++) @@ -6238,7 +6053,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(); @@ -6253,12 +6068,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++) @@ -6266,7 +6081,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(); @@ -6281,7 +6096,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) @@ -6299,12 +6114,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++) @@ -6312,7 +6127,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(); @@ -6339,12 +6154,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++) @@ -6352,7 +6167,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(); @@ -6363,7 +6178,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) @@ -6386,7 +6201,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++) @@ -6396,7 +6211,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) { @@ -6410,32 +6225,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); @@ -6446,14 +6261,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) @@ -6488,21 +6303,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) @@ -6516,14 +6331,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) @@ -6533,14 +6348,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(); @@ -6561,7 +6376,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) @@ -6593,7 +6408,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) @@ -6622,7 +6437,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; @@ -6644,23 +6459,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; } @@ -6669,14 +6484,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()) @@ -6687,17 +6502,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) { @@ -6707,7 +6522,7 @@ afx_msg LRESULT CGISDlg::OnDrawMarker(WPARAM wParam, LPARAM lParam) g_bMarkerPlot[(int)wParam] = false; } - else //ÏÔʾ±ê¼Çµã + else //��ʾ��ǵ� { if (g_lMarkerLayerID[(int)wParam] >= 0) { @@ -6715,7 +6530,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; @@ -6724,7 +6539,7 @@ afx_msg LRESULT CGISDlg::OnDrawMarker(WPARAM wParam, LPARAM lParam) return 0; } -//Çå³ýµØÃæÕ¾±ê»æ +//�������վ��� void CGISDlg::OnMenuClearGCS() { if (m_gcsPtShpLayerID != -1) @@ -6734,16 +6549,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; @@ -6751,7 +6566,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); @@ -6969,7 +6784,7 @@ void CGISDlg::GetDangerousTerrainPoints(double pts[][2],int pointNum,long alt,ve } } -//±ê»æÎ£ÏÕµØÐεã +//���Σ�յ��ε� int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) { /* @@ -6988,7 +6803,7 @@ int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) if(!m_mapElevation.m_isAdd) { - //BCGPMessageBox("δÌí¼Ó¸ß³ÌÐÅÏ¢£¬ÎÞ·¨Åжϵ±Ç°»ØÊÕº½ÏßÊÇ·ñ°²È«!"); + //BCGPMessageBox("δ���Ӹ߳���Ϣ���޷��жϵ�ǰ���պ����Ƿ�ȫ!"); return 0; } @@ -7002,7 +6817,7 @@ int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) return -1; } - //н¨ÁÙʱ±ê»æÍ¼²ã + //�½���ʱ���ͼ�� if (m_tempTerrainPointsLayerID==-1) { m_tempTerrainPointsLayerID = m_map.NewDrawing(1); @@ -7032,7 +6847,7 @@ int CGISDlg::DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt) return 1; } -//Çå³ýΣÏÕµØÐεã +//���Σ�յ��ε� void CGISDlg::ClearDangerousTerrainPoints() { if (m_tempTerrainPointsLayerID!=-1) @@ -7043,7 +6858,7 @@ void CGISDlg::ClearDangerousTerrainPoints() } } -// »æÖÆÁÙʱÏß +// ������ʱ�� void CGISDlg::DrawTempLine(double m_Pts[][2],int pointNum) { //int pointNum = 6; @@ -7060,57 +6875,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; @@ -7127,7 +6942,7 @@ void CGISDlg::DrawHighLightLine(const PtStruct *pts, const int ptNum) m_map.Redraw(); } -//Çå³ýÁÙʱÏß +//�����ʱ�� void CGISDlg::ClearTempLine() { if (m_tempshpPointLayerID!=-1) @@ -7145,7 +6960,7 @@ void CGISDlg::ClearTempLine() } } -//Çå³ý¸ßÁÁÏß +//��������� void CGISDlg::ClearHighLightLine() { if (m_highLightLineLayerID!=-1) @@ -7156,7 +6971,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(); @@ -7176,7 +6991,7 @@ void CGISDlg::TransformToXY(double pts[][2],int pointNum,vector& ptsRow,vec } -//ÌáÈ¡×ø±êµã¼¯ +//��ȡ����㼯 void CGISDlg::TransformToVectorPoints(DrawLineDataStruct lineDataGroup,vector& lineX,vector& lineY) { @@ -7187,84 +7002,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