www.pudn.com > HPMapx.rar > gpsset.h


// gpsset.h 
 
#ifndef _GPSSET_H__ 
#define _GPSSET_H__ 
 
#pragma once 
 
#include "mapx.h" 
#include "FeatureStruct.HPP" 
 
#define MY_INFOTOOL		1 
#define MAP_DISTANCE		2 
#define ADD_TARGET		3 
 
class CGpsSet  : public CWnd 
{ 
public: 
	CGpsSet	(); 
	virtual ~CGpsSet() {RemoveCurrent();} 
	 
	void	OnMapViewChanged(); 
	void	SetStartXY(double x,double y); 
	CMapX*	GetMapx()			{return &m_ctrlMapX;} 
	void	UpdateGraph()			{UpdateFeature(m_CurrentCarLayer.GetFeatureByID(m_nFeaID));} 
 
	void	UpdateSpeed(double speed)		{ m_dSpeed = speed;} 
	void	UpdateDirection(double nTableRotation)	{ m_dDirection = nTableRotation;} 
	void	UpdateDirection(CMapXFeature &feature); 
public: 
	//{{AFX_VIRTUAL(CGpsSet) 
	public: 
	virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL); 
	//}}AFX_VIRTUAL 
 
public: 
	//{{AFX_MSG(CGpsSet) 
	void OnSetFocus(CWnd* pO); 
	void OnSize(UINT nType, int cx, int cy); 
	//}}AFX_MSG 
 
	void OnLayercontrol()	{m_ctrlMapX.GetLayers().LayersDlg();		} 
	void OnEntire()		{m_ctrlMapX.SetZoom(m_ctrlMapX.GetGeoSetWidth());} 
	void OnSelectpoint()	{m_ctrlMapX.SetCurrentTool(miSelectTool);	} 
	void OnRectselect()	{m_ctrlMapX.SetCurrentTool(miRectSelectTool);	} 
	void OnZoomin()		{m_ctrlMapX.SetCurrentTool(miZoomInTool);	} 
	void OnZoomout()	{m_ctrlMapX.SetCurrentTool(miZoomOutTool);	} 
	void OnPan()		{m_ctrlMapX.SetCurrentTool(miPanTool);		} 
	void OnCenter()		{m_ctrlMapX.SetCurrentTool(miCenterTool);	} 
	void OnDistance()	{m_ctrlMapX.SetCurrentTool(MAP_DISTANCE);	} 
	void OnInfo()		{m_ctrlMapX.SetCurrentTool(MY_INFOTOOL);	} 
 
	DECLARE_MESSAGE_MAP()	 
	DECLARE_EVENTSINK_MAP() 
private: 
	CMapX	m_ctrlMapX; 
	CMapXLayer m_CurrentCarLayer; 
		 
	double	m_dCX;		//当前位置X坐标 
	double	m_dCY;		//当前位置Y坐标 
	 
	double	m_dSpeed;	//当前速度 
	double	m_dDirection;	//当前方向 
	int	m_nFeaID;	//当前图元 
	 
	 
	void	RemoveAll(); 
	void	RemoveCurrent(); 
	void	ZoomTo(); 
	void	ShowCurrentFeature(); 
	void	HideCurrentFeature(); 
	bool	FindLayer(CString strLayerName); 
	void	UpdateFeature(CMapXFeature &feature); 
	void	OnCarMove(CMapXFeature& ft, double x, double y); 
	void	OnViewScalebar(); 
	 
	CMapXFeature FindFeature(CMapXLayer &layer)	{return layer.GetFeatureByID(m_nFeaID);} 
	void OnToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, VARIANT* EnableDefault); 
	void OnDrawUserLayer(LPDISPATCH Layer, long hOutputDC, long hAttributeDC, LPDISPATCH RectFull, LPDISPATCH RectInvalid); 
}; 
#endif