www.pudn.com > MapMark.rar > MapMarkView.cpp


 // MapMarkView.cpp : implementation of the CMapMarkView class 
// 
 
#include "stdafx.h" 
#include "MapMark.h" 
#include "MapX.h" 
 
#include "MapMarkDoc.h" 
#include "MapMarkView.h" 
#include "AddSymbol.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
//自定义工具 
#define miAddSymbol1		1		//添加图标1 
#define miDeleteSymbol		4		//删除标记 
#define miMoveSymbol		5		//移动标记 
 
//自定义图层 
#define SymbolLayer		"SymbolLayer"		//用户标注图层 
 
///////////////////////////////////////////////////////////////////////////// 
// CMapMarkView 
CMapX  MapXObj; 
 
IMPLEMENT_DYNCREATE(CMapMarkView, CView) 
 
BEGIN_MESSAGE_MAP(CMapMarkView, CView) 
	//{{AFX_MSG_MAP(CMapMarkView) 
	ON_WM_CREATE() 
	ON_WM_SIZE() 
	ON_WM_SETFOCUS() 
	ON_COMMAND(ID_MAP_ARROW, OnMapArrow) 
	ON_COMMAND(ID_MAP_CENTER, OnMapCenter) 
	ON_COMMAND(ID_MAP_PAN, OnMapPan) 
	ON_COMMAND(ID_MAP_ZOOMIN, OnMapZoomin) 
	ON_COMMAND(ID_MAP_ZOOMOUT, OnMapZoomout) 
	ON_UPDATE_COMMAND_UI(ID_MAP_ARROW, OnUpdateMapArrow) 
	ON_UPDATE_COMMAND_UI(ID_MAP_CENTER, OnUpdateMapCenter) 
	ON_UPDATE_COMMAND_UI(ID_MAP_PAN, OnUpdateMapPan) 
	ON_UPDATE_COMMAND_UI(ID_MAP_ZOOMIN, OnUpdateMapZoomin) 
	ON_UPDATE_COMMAND_UI(ID_MAP_ZOOMOUT, OnUpdateMapZoomout) 
	ON_COMMAND(ID_SYMBOL_CUT, OnSymbolCut) 
	ON_UPDATE_COMMAND_UI(ID_SYMBOL_CUT, OnUpdateSymbolCut) 
	ON_COMMAND(ID_SYMBOL_MOVE, OnSymbolMove) 
	ON_UPDATE_COMMAND_UI(ID_SYMBOL_MOVE, OnUpdateSymbolMove) 
	ON_COMMAND(ID_Button1, OnButton1) 
	ON_UPDATE_COMMAND_UI(ID_Button1, OnUpdateButton1) 
	ON_COMMAND(ID_Button2, OnButton2) 
	ON_COMMAND(ID_Button3, OnButton3) 
	ON_COMMAND(ID_Button4, OnButton4) 
	ON_COMMAND(ID_Button5, OnButton5) 
	//}}AFX_MSG_MAP 
	// Standard printing commands 
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) 
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) 
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) 
END_MESSAGE_MAP() 
 
BEGIN_EVENTSINK_MAP(CMapMarkView, CView) 
//	ON_EVENT(MapMarkView, IDC_MAP, DISPID_DBLCLICK, OnDblClick,NULL) 
	ON_EVENT(CMapMarkView, IDC_MAP, DISPID_MOUSEMOVE, OnMouseMove_Map, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS) 
	ON_EVENT(CMapMarkView, IDC_MAP, DISPID_MOUSEDOWN, OnMouseDown_Map, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS) 
	ON_EVENT(CMapMarkView, IDC_MAP, DISPID_MOUSEUP, OnMouseUp_Map, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS) 
	ON_EVENT(CMapMarkView, IDC_MAP, MAPX_DISPID_TOOLUSED, OnToolUsed, VTS_I2 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_BOOL VTS_BOOL VTS_PBOOL) 
	ON_EVENT(CMapMarkView, IDC_MAP, 6 /* MapViewChanged */, OnMapViewChangedMap, VTS_NONE) 
//	ON_EVENT(CMapMarkView, IDC_MAP, 11 /* PolyToolUsed */, OnPolyToolUsedMap, VTS_I2 VTS_I4 VTS_DISPATCH VTS_BOOL VTS_BOOL VTS_PBOOL) 
END_EVENTSINK_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CMapMarkView construction/destruction 
 
CMapMarkView::CMapMarkView() 
{ 
	// TODO: add construction code here 
	m_bSymbolMove = false; 
} 
 
CMapMarkView::~CMapMarkView() 
{ 
} 
 
BOOL CMapMarkView::PreCreateWindow(CREATESTRUCT& cs) 
{ 
	// TODO: Modify the Window class or styles here by modifying 
	//  the CREATESTRUCT cs 
 
	return CView::PreCreateWindow(cs); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CMapMarkView drawing 
 
void CMapMarkView::OnDraw(CDC* pDC) 
{ 
	CMapMarkDoc* pDoc = GetDocument(); 
	ASSERT_VALID(pDoc); 
	// TODO: add draw code for native data here 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CMapMarkView printing 
 
BOOL CMapMarkView::OnPreparePrinting(CPrintInfo* pInfo) 
{ 
	// default preparation 
	return DoPreparePrinting(pInfo); 
} 
 
void CMapMarkView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add extra initialization before printing 
} 
 
void CMapMarkView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add cleanup after printing 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CMapMarkView diagnostics 
 
#ifdef _DEBUG 
void CMapMarkView::AssertValid() const 
{ 
	CView::AssertValid(); 
} 
 
void CMapMarkView::Dump(CDumpContext& dc) const 
{ 
	CView::Dump(dc); 
} 
 
CMapMarkDoc* CMapMarkView::GetDocument() // non-debug version is inline 
{ 
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMapMarkDoc))); 
	return (CMapMarkDoc*)m_pDocument; 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CMapMarkView message handlers 
 
int CMapMarkView::OnCreate(LPCREATESTRUCT lpCreateStruct)  
{ 
	if (CView::OnCreate(lpCreateStruct) == -1) 
		return -1; 
	 
	// TODO: Add your specialized creation code here 
	if (!MapXObj.Create(NULL, WS_VISIBLE, CRect(0,0,100,100), this,IDC_MAP)) 
	{ 
		return -1;  
	} 
 
	try  
	{	 
		MapXObj.SetGeoSet(MAIN_MAP_NAME);		//指定地图集 
		MapXObj.SetTitleText(""); 
 
		m_dInitCenterX=MapXObj.GetCenterX(); 
		m_dInitCenterY=MapXObj.GetCenterY(); 
		m_dInitZoom=MapXObj.GetZoom(); 
		if (m_dInitZoom <= 0) 
		{ 
			MessageBox("未指定地图集,请确认地图数据是否正确安装。"); 
		} 
 
		MapXObj.CreateCustomTool(miAddSymbol1,NULL,miArrowCursor);	 
		MapXObj.CreateCustomTool(miDeleteSymbol,NULL,miArrowCursor); 
		MapXObj.CreateCustomTool(miMoveSymbol,NULL,miArrowCursor); 
 
		MapXObj.GetLayers().Item(SymbolLayer).SetAutoLabel(true); 
	} 
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e) 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
 
	MapXObj.SetRedrawInterval(2000); 
 
 	return 0; 
} 
 
void CMapMarkView::OnSize(UINT nType, int cx, int cy)  
{ 
	CView::OnSize(nType, cx, cy); 
	 
	// TODO: Add your message handler code here 
	MapXObj.MoveWindow(0,0,cx,cy,TRUE); 
} 
 
void CMapMarkView::OnSetFocus(CWnd* pOldWnd)  
{ 
	CView::OnSetFocus(pOldWnd); 
	 
	// TODO: Add your message handler code here 
	MapXObj.SetFocus(); 
} 
 
void CMapMarkView::OnMapArrow()  
{ 
	// TODO: Add your command handler code here 
	try  
	{ 
		MapXObj.SetCurrentTool(miArrowTool); 
		MapXObj.SetMousePointer(miDefaultCursor);				//鼠标形状还原 
		MapXObj.SetMousewheelSupport(miNoMousewheelSupport);	//停止支持滚轮缩放		 
	}  
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e) 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
void CMapMarkView::OnUpdateMapArrow(CCmdUI* pCmdUI)  
{ 
	// TODO: Add your command update UI handler code here 
	BOOL bCheck; 
	if(miArrowTool == MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
 
	pCmdUI->SetCheck(bCheck); 
} 
 
void CMapMarkView::OnMapCenter()  
{ 
	// TODO: Add your command handler code here 
	try 
	{ 
		MapXObj.SetZoom(m_dInitZoom); 
		MapXObj.SetCenterX(m_dInitCenterX); 
		MapXObj.SetCenterY(m_dInitCenterY);	 
	}  
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e)	 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
void CMapMarkView::OnUpdateMapCenter(CCmdUI* pCmdUI)  
{ 
	// TODO: Add your command update UI handler code here	 
} 
 
void CMapMarkView::OnMapPan()  
{ 
	// TODO: Add your command handler code here 
	try  
	{ 
		MapXObj.SetCurrentTool(miPanTool);	 
	}  
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e) 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
void CMapMarkView::OnUpdateMapPan(CCmdUI* pCmdUI)  
{ 
	// TODO: Add your command update UI handler code here 
	BOOL bCheck; 
	if(miPanTool==MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
	pCmdUI->SetCheck(bCheck); 
} 
 
void CMapMarkView::OnMapZoomin()  
{ 
	// TODO: Add your command handler code here 
	try  
	{ 
		if(miZoomInTool==MapXObj.GetCurrentTool()) 
			MapXObj.SetCurrentTool(miArrowTool); 
		else 
		{ 
			MapXObj.SetCurrentTool(miZoomInTool); 
			MapXObj.SetMousewheelSupport(miFullMousewheelSupport);		 
		} 
	}  
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e) 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
void CMapMarkView::OnUpdateMapZoomin(CCmdUI* pCmdUI)  
{ 
	// TODO: Add your command update UI handler code here 
	BOOL bCheck; 
	if(miZoomInTool==MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
	pCmdUI->SetCheck(bCheck); 
} 
 
void CMapMarkView::OnMapZoomout()  
{ 
	// TODO: Add your command handler code here 
	try  
	{ 
		if(miZoomOutTool==MapXObj.GetCurrentTool()) 
			MapXObj.SetCurrentTool(miArrowTool); 
		else 
		{ 
			MapXObj.SetCurrentTool(miZoomOutTool); 
 
			MapXObj.SetMousewheelSupport(miFullMousewheelSupport);			//支持滚轮缩放	 
		} 
	}  
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e) 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
void CMapMarkView::OnUpdateMapZoomout(CCmdUI* pCmdUI)  
{ 
	// TODO: Add your command update UI handler code here 
	BOOL bCheck; 
	if(miZoomOutTool==MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
	pCmdUI->SetCheck(bCheck); 
} 
 
void CMapMarkView::OnToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, bool Shift, bool Ctrl, bool *EnableDefault) 
{ 
	CMarkObj MarkObject; 
	CString strLayername; 
	CString strSymbolName; 
	CString strSymbolID; 
	double dX,dY; 
	 
	if(miAddSymbol1==ToolNum) 
	{ 
		strLayername = SymbolLayer; 
		strSymbolID = "MyIcon1"; 
		strSymbolName = "图标的中文标注(最长50个中文字符)"; 
			 
		CAddSymbol dlgAddSymbol(strSymbolName,X1,Y1); 
		if(IDOK==dlgAddSymbol.DoModal()) 
		{ 
			dlgAddSymbol.GetName(strSymbolName); 
			dlgAddSymbol.GetPosition(dX,dY); 
		} 
		MarkObject.MarkInit(strLayername,strSymbolName,dX,dY,strSymbolID);	 
	} 
 
	if(miDeleteSymbol==ToolNum)		//删除图标 
	{ 
		OnCustomDeleteSymbol(X1,Y1); 
	} 
} 
 
void CMapMarkView::OnSymbolCut()  
{ 
	if(miDeleteSymbol==MapXObj.GetCurrentTool()) 
	{ 
		MapXObj.SetCurrentTool(miArrowTool); 
	} 
	else 
	{ 
		MapXObj.SetCurrentTool(miDeleteSymbol); 
	} 
} 
 
void CMapMarkView::OnUpdateSymbolCut(CCmdUI* pCmdUI)  
{ 
	BOOL bCheck; 
	if(miDeleteSymbol==MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
	pCmdUI->SetCheck(bCheck);	 
} 
 
void CMapMarkView::OnSymbolMove()  
{ 
	if(miMoveSymbol==MapXObj.GetCurrentTool()) 
	{ 
		MapXObj.SetCurrentTool(miArrowTool); 
	} 
	else 
	{ 
		MapXObj.SetCurrentTool(miMoveSymbol); 
	}	 
} 
 
void CMapMarkView::OnUpdateSymbolMove(CCmdUI* pCmdUI)  
{ 
	BOOL bCheck; 
	if(miMoveSymbol==MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
	pCmdUI->SetCheck(bCheck); 
} 
 
void CMapMarkView::OnCustomDeleteSymbol(double X, double Y) 
{ 
	try  
	{ 
		CMapXLayer layer; 
		CMapXFeature Ftr; 
		CMapXFeatures Ftrs; 
		CMapXPoint   ps; 
		int iNum,iFeatureCount; 
		CString strKeyValue; 
 
		ps.CreateDispatch(ps.GetClsid()); 
		ps.Set(X,Y); 
 
		layer=MapXObj.GetLayers().Item(SymbolLayer); 
		 
		Ftrs=layer.SearchAtPoint(ps); 
		iNum=Ftrs.GetCount(); 
		if(0!=iNum) 
		{ 
			Ftr=Ftrs.Item(1);				//获取选中图元的FeatureKey作为判断依据 
			strKeyValue = Ftr.GetKeyValue() ; 
		 
			if(IDOK==MessageBox("删除该图标?","警告",MB_ICONWARNING|MB_OKCANCEL)) 
			{ 
				Ftrs = layer.AllFeatures(); 
				iFeatureCount = layer.AllFeatures().GetCount(); 
 
				for (int i=1;i<=iFeatureCount;i++) 
				{ 
					Ftr=Ftrs.Item(i); 
					if (Ftr.GetKeyValue() == strKeyValue) 
					{ 
						layer.DeleteFeature(Ftr.GetFeatureKey()); 
					} 
				}	 
			} 
		} 
	} 
	catch (COleDispatchException *e) { 
		e->ReportError(); 
		e->Delete(); 
	} 
	catch (COleException *e) { 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
//清除图层中的所有图元 
void CMapMarkView::ClearLayer(CString strLayerName) 
{ 
	CMapXLayer layer; 
	CMapXFeature Ftr; 
	CMapXFeatures Ftrs; 
	int iFtrNum; 
	 
	try  
	{ 
		layer=MapXObj.GetLayers().Item(SymbolLayer); 
		Ftrs=layer.AllFeatures(); 
		iFtrNum=Ftrs.GetCount(); 
		for(int i=1; i<=iFtrNum; i++) 
		{ 
			Ftr=Ftrs.Item(i); 
			layer.DeleteFeature(Ftr.GetFeatureKey()); 
		} 
 
		MapXObj.Refresh();		//屏幕显示刷新 
	} 
	catch (COleDispatchException *e) { 
		e->ReportError(); 
		e->Delete(); 
	} 
	catch (COleException *e) { 
		e->ReportError(); 
		e->Delete(); 
	} 
} 
 
void CMapMarkView::OnMouseMove_Map(short Button, short Shift, long X, long Y) 
{ 
	CString sCoordinate; 
 
    double lon, lat; 
 
    float singleX = (float)X; 
    float singleY = (float)Y; 
	int iXd; 
	int iXm; 
	int iXs; 
	int iYd; 
	int iYm; 
	int iYs; 
 
	try 
	{ 
		m_pMainFrame = (CMainFrame *)GetParentFrame();		//获取父窗口句柄 
 
		MapXObj.ConvertCoord(&singleX, &singleY, &lon, &lat, miScreenToMap);	//屏幕坐标转换为地图坐标 
		DecimalGeoToStandardGeo(lon,lat,&iXd,&iXm,&iXs,&iYd,&iYm,&iYs);			//小数坐标==>标准地理坐标 
		sCoordinate.Format("经度:%d°%d′%d\" ,纬度:%d°%d′%d\" ",iXd,iXm,iXs,iYd,iYm,iYs);	//在状态栏中显示当前坐标          
		m_pMainFrame->m_wndStatusBar.SetPaneText(m_pMainFrame->m_wndStatusBar.CommandToIndex(ID_INDICATOR_COORDINATE),sCoordinate); 
	}  
	catch (COleDispatchException *e)  
	{ 
		e->ReportError(); 
		e->Delete(); 
	}  
	catch (COleException *e)	 
	{ 
		e->ReportError(); 
		e->Delete(); 
	} 
 
	if (m_bSymbolMove) 
	{ 
		try  
		{ 
			CMapXFeature Ftr; 
			CMapXFeatures Ftrs; 
			CMapXPoint   ps; 
			int iFeatureCount; 
			CString strKeyValue; 
			ps.CreateDispatch(ps.GetClsid()); 
			ps.Set(lon,lat); 
 
			Ftrs = m_Selectlayer.AllFeatures(); 
			iFeatureCount = m_Selectlayer.AllFeatures().GetCount(); 
 
			Ftr=Ftrs.Item(1); 
			if (Ftr.GetKeyValue() == m_strSelectKey) 
			{ 
				Ftr.SetPoint(ps);	//改变定位点 
				Ftr.Update(); 
			}		 
		} 
		catch (COleDispatchException *e)  
		{ 
			e->ReportError(); 
			e->Delete(); 
		} 
		catch (COleException *e)  
		{ 
			e->ReportError(); 
			e->Delete(); 
		} 
	} 
} 
 
void CMapMarkView::OnMouseDown_Map(short Button, short Shift, long X, long Y) 
{ 
	double lon, lat; 
	if (MapXObj.GetCurrentTool() == miMoveSymbol) 
	{ 
		try  
		{	 
			float singleX = (float)X; 
			float singleY = (float)Y; 
			 
			CMapXFeature Ftr; 
			CMapXFeatures Ftrs; 
			CMapXPoint   ps; 
			int iNum; 
 
			MapXObj.ConvertCoord(&singleX, &singleY, &lon, &lat, miScreenToMap);	//屏幕坐标转换为地图坐标 
			ps.CreateDispatch(ps.GetClsid()); 
			ps.Set(lon,lat); 
 
			m_Selectlayer=MapXObj.GetLayers().Item(SymbolLayer); 
			 
			Ftrs=m_Selectlayer.SearchAtPoint(ps);	 
			iNum=Ftrs.GetCount(); 
			if(0!=iNum) 
			{ 
				Ftr=Ftrs.Item(1);				//获取选中图元的FeatureKey作为判断依据 
				m_strSelectKey = Ftr.GetKeyValue() ; 
			 
				m_bSymbolMove = true; 
			} 
		} 
		catch (COleDispatchException *e)  
		{ 
			e->ReportError(); 
			e->Delete(); 
		} 
		catch (COleException *e)  
		{ 
			e->ReportError(); 
			e->Delete(); 
		} 
	} 
} 
 
void CMapMarkView::OnMouseUp_Map(short Button, short Shift, long X, long Y)  
{ 
	if (m_bSymbolMove)  
	{ 
		m_bSymbolMove = false; 
	} 
} 
 
void CMapMarkView::DecimalGeoToStandardGeo(double dX, double dY, int *iXd, int *iXm, int *iXs, int *iYd, int *iYm, int *iYs) 
{ 
	double dLongitude,dLatitude,dTemp; 
	dLongitude=dX; 
	dLatitude=dY; 
	dTemp=dLongitude-(int)(dLongitude); 
	*iXd=int(dLongitude); 
	*iXm=int(dTemp*60); 
	*iXs=int((dTemp*60-int(dTemp*60))*60); 
	dTemp=dLatitude-(int)(dLatitude); 
	*iYd=int(dLatitude); 
	*iYm=int(dTemp*60); 
	*iYs=int((dTemp*60-int(dTemp*60))*60); 
} 
 
void CMapMarkView::OnMapViewChangedMap()  
{ 
	double dZoom; 
	double dPaperWidth; 
	double dScale; 
	long lScale; 
 
	m_pMainFrame = (CMainFrame *)GetParentFrame();		//获取父窗口句柄 
 
	dZoom=MapXObj.GetZoom(); 
	dPaperWidth=MapXObj.GetMapPaperWidth(); 
	dScale=dZoom/dPaperWidth; 
	lScale=(long)dScale; 
 
	if (m_pMainFrame->m_wndStatusBar.m_hWnd == NULL) 
	{ 
		return; 
	} 
	CString strScale; 
	strScale.Format("比例尺:1:%ld",lScale); 
	m_pMainFrame->m_wndStatusBar.SetPaneText(m_pMainFrame->m_wndStatusBar.CommandToIndex(ID_INDICATOR_SCALE),strScale); 
} 
 
 
void CMapMarkView::OnButton1()  
{ 
	// TODO: Add your command handler code here 
	if(miAddSymbol1==MapXObj.GetCurrentTool()) 
	{ 
		MapXObj.SetCurrentTool(miArrowTool); 
	} 
	else 
	{ 
		MapXObj.SetCurrentTool(miAddSymbol1); 
	}	 
} 
 
void CMapMarkView::OnUpdateButton1(CCmdUI* pCmdUI)  
{ 
	// TODO: Add your command update UI handler code here 
	BOOL bCheck; 
	if(miAddSymbol1==MapXObj.GetCurrentTool()) 
		bCheck=TRUE; 
	else 
		bCheck=FALSE; 
	pCmdUI->SetCheck(bCheck); 
} 
 
void CMapMarkView::OnButton2()  
{ 
	// TODO: Add your command handler code here 
	 
} 
 
void CMapMarkView::OnButton3()  
{ 
	// TODO: Add your command handler code here 
	 
} 
 
void CMapMarkView::OnButton4()  
{ 
	// TODO: Add your command handler code here 
	 
} 
 
void CMapMarkView::OnButton5()  
{ 
	// TODO: Add your command handler code here 
	 
}