亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? simplemapview.cpp

?? windows mobile gis system
?? CPP
?? 第 1 頁 / 共 2 頁
字號(hào):
// SimpleMapView.cpp : implementation of the CSimpleMapView class
//

#include "stdafx.h"
#include "SimpleMap.h"

#include "SimpleMapDoc.h"
#include "SimpleMapView.h"

#include "MainFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSimpleMapView

IMPLEMENT_DYNCREATE(CSimpleMapView, CView)

BEGIN_MESSAGE_MAP(CSimpleMapView, CView)
	//{{AFX_MSG_MAP(CSimpleMapView)
	ON_WM_SIZE()
	ON_COMMAND(ID_MAP_NOTHING, OnMapNothing)
	ON_COMMAND(ID_MAP_ZOOM_IN, OnMapZoomIn)
	ON_COMMAND(ID_MAP_ZOOM_OUT, OnMapZoomOut)
	ON_COMMAND(ID_MAP_ZOOM_ALL, OnMapZoomAll)
	ON_COMMAND(ID_MAP_PAN, OnMapPan)
	ON_COMMAND(ID_MAP_ZOOM_WINDOW, OnMapZoomWindow)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
	ON_UPDATE_COMMAND_UI(ID_MAP_NOTHING, OnUpdateMapNothing)
	ON_UPDATE_COMMAND_UI(ID_MAP_PAN, OnUpdateMapPan)
	ON_UPDATE_COMMAND_UI(ID_MAP_ZOOM_IN, OnUpdateMapZoomIn)
	ON_UPDATE_COMMAND_UI(ID_MAP_ZOOM_OUT, OnUpdateMapZoomOut)
	ON_UPDATE_COMMAND_UI(ID_MAP_ZOOM_WINDOW, OnUpdateMapZoomWindow)
	ON_COMMAND(ID_MAP_SRHPT, OnMapSrhpt)
	ON_UPDATE_COMMAND_UI(ID_MAP_SRHPT, OnUpdateMapSrhpt)
	ON_COMMAND(ID_LAYER_MANAGE, OnLayerManage)
	ON_COMMAND(ID_MAP_COORD, OnMapCoord)
	ON_UPDATE_COMMAND_UI(ID_MAP_COORD, OnUpdateMapCoord)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleMapView construction/destruction

CSimpleMapView::CSimpleMapView()
{
	m_Operation = CMD_NOTHING;              
	m_isDownMouse = 0;             
	m_StartPt.x = 0 ;
	m_StartPt.y = 0 ;
	m_SecondPt.x = 0;
    m_SecondPt.y = 0; 
}

CSimpleMapView::~CSimpleMapView()
{
}

BOOL CSimpleMapView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CSimpleMapView drawing

void CSimpleMapView::OnDraw(CDC* pDC)
{
	CSimpleMapDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: add draw code for native data here
	CMapLayer *pLayer;
	CRect rc;
	CBitmap bmp; 
	CDC dcMemory;
	
	//BeginWaitCursor(); 
	GetClientRect(rc); 
	//dcMemory.CreateCompatibleDC(pDC);
	//bmp.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());   
	//dcMemory.SelectObject(&bmp); 
	short iCount = pDoc->m_MapLayers.GetCount(); 
	for ( short i = 0 ; i < iCount ; i++ )
	{ 
		pLayer = pDoc->m_MapLayers.GetAt(i);
		pLayer->DrawLayer(pDC , m_DrawParam ); 
		
	} 
	//pDC->BitBlt(0,0,rc.Width(),rc.Height(),&dcMemory,0,0,SRCCOPY); 
	//dcMemory.DeleteDC(); 
	//bmp.DeleteObject(); 
	//pDC->SetMapMode(MM_TEXT);          //設(shè)置映射模式
	//EndWaitCursor(); 
}

/////////////////////////////////////////////////////////////////////////////
// CSimpleMapView diagnostics

#ifdef _DEBUG
void CSimpleMapView::AssertValid() const
{
	CView::AssertValid();
}

void CSimpleMapView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CSimpleMapDoc* CSimpleMapView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSimpleMapDoc)));
	return (CSimpleMapDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CSimpleMapView message handlers

void CSimpleMapView::InitScale()
{

	float fxScale,fyScale;
	double dbTmp;
	CRect rc;
	CMapRectangle mapExtent;

	CSimpleMapDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	
	//獲得當(dāng)前地圖最大矩形范圍
	pDoc->m_MapLayers.GetAllExtent(mapExtent);  
	//獲得視圖客戶區(qū)矩形范圍
	GetClientRect(&rc);
	m_DrawParam.m_ScreenWidth = abs(rc.right - rc.left);
    m_DrawParam.m_ScreenHeigh = abs(rc.bottom  - rc.top); 
    //計(jì)算橫向比例系數(shù)

	fxScale = (float)(fabs(mapExtent.GetRight()-mapExtent.GetLeft())/
		              m_DrawParam.m_ScreenWidth);
	//計(jì)算縱向比例系數(shù)
	fyScale = (float)(fabs(mapExtent.GetBottom() -mapExtent.GetTop() )/
		              m_DrawParam.m_ScreenHeigh);
	//選擇較大的做比例尺
	if ( fxScale > fyScale)
    {  
       m_DrawParam.m_Scale =  fxScale;
	   m_DrawParam.m_StartX = mapExtent.GetLeft();
       dbTmp = fabs(mapExtent.GetBottom() -mapExtent.GetTop());
	   dbTmp =fxScale*m_DrawParam.m_ScreenHeigh - dbTmp;  
       m_DrawParam.m_StartY = mapExtent.GetBottom() -  dbTmp / 2; 
    } 
	else
    {   
	   m_DrawParam.m_Scale =  fyScale;
	   m_DrawParam.m_StartY =  mapExtent.GetBottom(); 
       dbTmp = fabs(mapExtent.GetRight() -mapExtent.GetLeft()); 
	   dbTmp = fyScale*m_DrawParam.m_ScreenWidth - dbTmp;  
       m_DrawParam.m_StartX =  mapExtent.GetLeft() - dbTmp / 2; 
    } 

	Invalidate(TRUE);

}

void CSimpleMapView::OnInitialUpdate() 
{
	CView::OnInitialUpdate();
	
	CRect rc;
	GetClientRect(&rc); 
	m_DrawParam.m_Scale = 1;
	m_DrawParam.m_StartX = 10;
    m_DrawParam.m_StartY = 10;
    m_DrawParam.m_ScreenWidth = abs(rc.right  - rc.left);
	m_DrawParam.m_ScreenHeigh = abs(rc.bottom - rc.top );

	m_FixedScale = 2;
	
}

void CSimpleMapView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	float fxScale,fyScale;
	double dbTmp;
	CRect rc;
	CMapRectangle mapExtent;

	CSimpleMapDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	
	//獲得當(dāng)前地圖最大矩形范圍
	pDoc->m_MapLayers.GetAllExtent(mapExtent);  
	//獲得視圖客戶區(qū)矩形范圍
	GetClientRect(&rc);
	m_DrawParam.m_ScreenWidth = abs(rc.right - rc.left);
    m_DrawParam.m_ScreenHeigh = abs(rc.bottom  - rc.top); 
    //計(jì)算橫向比例系數(shù)

	fxScale = (float)(fabs(mapExtent.GetRight()-mapExtent.GetLeft())/
		              m_DrawParam.m_ScreenWidth);
	//計(jì)算縱向比例系數(shù)
	fyScale = (float)(fabs(mapExtent.GetBottom() -mapExtent.GetTop() )/
		              m_DrawParam.m_ScreenHeigh);
	//選擇較大的做比例尺
	if ( fxScale > fyScale)
    {  
        m_DrawParam.m_Scale =  fxScale;
	    m_DrawParam.m_StartX = mapExtent.GetLeft();
        dbTmp = fabs(mapExtent.GetBottom() -mapExtent.GetTop());
	    dbTmp =fxScale*m_DrawParam.m_ScreenHeigh - dbTmp;  
        m_DrawParam.m_StartY = mapExtent.GetBottom() -  dbTmp / 2; 
    } 
	else
    {   
	   m_DrawParam.m_Scale =  fyScale;
	   m_DrawParam.m_StartY =  mapExtent.GetBottom(); 
       dbTmp = fabs(mapExtent.GetRight() -mapExtent.GetLeft()); 
	   dbTmp = fyScale*m_DrawParam.m_ScreenWidth - dbTmp;  
       m_DrawParam.m_StartX =  mapExtent.GetLeft() - dbTmp / 2; 
    } 
	Invalidate(TRUE); 
	
}

void CSimpleMapView::OnMapNothing() 
{
	m_Operation = 0;
}

void CSimpleMapView::OnMapZoomIn() 
{
	m_Operation =  CMD_ZOOMIN;  
}

void CSimpleMapView::OnMapZoomOut() 
{
	m_Operation =  CMD_ZOOMOUT;  
}

void CSimpleMapView::OnMapZoomAll() 
{
	float fxScale,fyScale;
	double dbTmp;
	CRect rc;
	CMapRectangle mapExtent;

	CSimpleMapDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	
	//獲得當(dāng)前地圖最大矩形范圍
	pDoc->m_MapLayers.GetAllExtent(mapExtent);  
	//獲得視圖客戶區(qū)矩形范圍
	GetClientRect(&rc);
	m_DrawParam.m_ScreenWidth = abs(rc.right - rc.left);
    m_DrawParam.m_ScreenHeigh = abs(rc.bottom  - rc.top); 
    //計(jì)算橫向比例系數(shù)

	fxScale = (float)(fabs(mapExtent.GetRight()-mapExtent.GetLeft())/
		              m_DrawParam.m_ScreenWidth);
	//計(jì)算縱向比例系數(shù)
	fyScale = (float)(fabs(mapExtent.GetBottom() -mapExtent.GetTop() )/
		              m_DrawParam.m_ScreenHeigh);
	//選擇較大的做比例尺
	if ( fxScale > fyScale)
    {  
       m_DrawParam.m_Scale =  fxScale;
	   m_DrawParam.m_StartX = mapExtent.GetLeft();
       dbTmp = fabs(mapExtent.GetBottom() -mapExtent.GetTop());
	   dbTmp =fxScale*m_DrawParam.m_ScreenHeigh - dbTmp;  
       m_DrawParam.m_StartY = mapExtent.GetBottom() -  dbTmp / 2; 
    } 
	else
    {   
	   m_DrawParam.m_Scale =  fyScale;
	   m_DrawParam.m_StartY =  mapExtent.GetBottom(); 
       dbTmp = fabs(mapExtent.GetRight() -mapExtent.GetLeft()); 
	   dbTmp = fyScale*m_DrawParam.m_ScreenWidth - dbTmp;  
       m_DrawParam.m_StartX =  mapExtent.GetLeft() - dbTmp / 2; 
    } 
	pDoc->UpdateAllViews(NULL); 
	
}

void CSimpleMapView::OnMapPan() 
{
	m_Operation = CMD_ZOOMPAN;
}

void CSimpleMapView::OnMapZoomWindow() 
{
	m_Operation = CMD_ZOOMIN_WINDOW;
}

void CSimpleMapView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	CRect rc;
	GetClientRect(&rc); 
	
	if ( m_Operation == CMD_ZOOMIN_WINDOW && rc.PtInRect(point))
    {    
		
		m_StartPt = point;
		m_SecondPt = point;
		m_isDownMouse = 1;
		//保證鼠標(biāo)移動(dòng)到窗體外也可以接收到鼠標(biāo)釋放時(shí)件
		SetCapture(); 
		Dispatch( point);
		
    } 

    if ( m_Operation == CMD_ZOOMIN && rc.PtInRect(point))
    {
		 //點(diǎn)擊放大
		m_StartPt = point;
		m_SecondPt = point;
		ZoomIn();
		

    }  
	if (m_Operation == CMD_ZOOMOUT && rc.PtInRect(point))
    {
		m_StartPt = point;
		m_SecondPt = point;
		m_isDownMouse = 1;
		ZoomOut(); 
			
    } 
	
	if (m_Operation == CMD_ZOOMPAN  && rc.PtInRect(point))
    {
		m_StartPt = point;
		m_SecondPt = point;
		m_isDownMouse = 1;
		//保證鼠標(biāo)移動(dòng)到窗體外也可以接收到鼠標(biāo)釋放時(shí)件
		SetCapture(); 
		
    }   
	if (m_Operation == CMD_SRHPT  && rc.PtInRect(point))
    {
		PtSelected(point);

    } 
	if(m_Operation == CMD_COORD  && rc.PtInRect(point))
	{
		CMapPoint pt;
		double dblX,dblY;
		dblX = m_DrawParam.m_StartX + point.x*m_DrawParam.m_Scale;  	
		dblY = m_DrawParam.m_StartY - point.y*m_DrawParam.m_Scale;
		pt.SetX(dblX);
		pt.SetY(dblY);
		ShowCoordinate(pt);
	}
	
	CView::OnLButtonDown(nFlags, point);
}

void CSimpleMapView::OnLButtonUp(UINT nFlags, CPoint point) 
{
	if ( m_Operation == CMD_ZOOMIN_WINDOW )
    {   
	    if ( m_isDownMouse == 1 ) //一次有效的拖動(dòng)
        {  
			m_isDownMouse = 2;
			m_SecondPt = point;
			ReleaseCapture();
			Dispatch(point);
			if ( m_StartPt.x != m_SecondPt.x || m_StartPt.y != m_SecondPt.y ) 
				ZoomInWindows();
        }
        m_isDownMouse = 0; 
	
		
    } 
	else if ( m_Operation == CMD_ZOOMOUT )
    {
	    if ( m_isDownMouse == 1 ) //一次有效的拖動(dòng)
        {  

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久一区二区三区共 | 成人午夜伦理影院| 欧美国产精品一区| 99精品视频在线播放观看| 亚洲精选一二三| 在线亚洲人成电影网站色www| 亚洲一区二区三区四区在线免费观看 | 97精品久久久久中文字幕| 亚洲免费资源在线播放| 欧美色图激情小说| 免费xxxx性欧美18vr| www国产精品av| 成人午夜视频福利| 亚洲一级二级在线| 精品国产91亚洲一区二区三区婷婷| 国产成人精品一区二区三区四区| 国产精品乱人伦| 欧美性一区二区| 久久国产精品无码网站| 国产欧美精品一区二区色综合| 在线亚洲一区二区| 另类成人小视频在线| 国产精品欧美久久久久无广告 | 日韩视频一区二区三区| 国产精品一区在线观看你懂的| 国产精品护士白丝一区av| 欧美日韩美女一区二区| 激情亚洲综合在线| 综合网在线视频| 欧美一区二区三区在线观看| 国产精品亚洲а∨天堂免在线| 亚洲情趣在线观看| 日韩欧美一级二级三级| 91在线国产观看| 美女尤物国产一区| 亚洲人一二三区| 日韩欧美电影一二三| 91视视频在线直接观看在线看网页在线看| 亚洲成人黄色小说| 中文字幕av一区二区三区| 91.成人天堂一区| 成人综合日日夜夜| 免费亚洲电影在线| 中文字幕一区二区不卡| 日韩欧美电影一二三| 91丨porny丨户外露出| 久久99在线观看| 亚洲精品五月天| 久久奇米777| 69堂精品视频| 99精品久久只有精品| 麻豆国产精品官网| 一区二区不卡在线播放 | 午夜视频在线观看一区二区| 久久久99精品免费观看不卡| 欧洲中文字幕精品| 国产不卡视频一区二区三区| 奇米888四色在线精品| 亚洲激情中文1区| 国产欧美一区二区精品婷婷 | 久久综合九色综合欧美就去吻 | 欧美国产在线观看| 日韩欧美成人一区| 欧美日韩精品一区二区三区蜜桃 | 国产美女在线观看一区| 婷婷久久综合九色综合绿巨人| 亚洲欧洲精品一区二区精品久久久| 精品少妇一区二区三区视频免付费| 欧美性色aⅴ视频一区日韩精品| 国产成人在线影院| 久久福利视频一区二区| 亚洲国产成人av网| 亚洲精品中文字幕乱码三区| 国产精品网友自拍| 久久久精品影视| 精品日韩一区二区三区免费视频| 欧美日韩国产系列| 91福利视频久久久久| 成人av综合在线| 国产成人自拍在线| 国产精品一区二区免费不卡| 久久国产精品第一页| 亚洲不卡在线观看| 亚洲一区二区三区在线播放| 亚洲视频每日更新| 中文字幕一区二区三区不卡在线 | 亚洲国产精品一区二区www| 一区在线观看视频| 国产精品系列在线| 日本一区二区高清| 国产亚洲福利社区一区| 欧美va亚洲va| 精品欧美一区二区在线观看| 欧美一区二区三区四区视频| 欧美日韩精品一区二区| 精品视频1区2区3区| 色婷婷av一区| 99国产精品国产精品久久| 波多野结衣91| a在线欧美一区| 99re8在线精品视频免费播放| 成人免费观看男女羞羞视频| 国产99精品在线观看| 国产91精品精华液一区二区三区| 国产一区二区在线电影| 国模冰冰炮一区二区| 国产乱子轮精品视频| 国产成人精品一区二| 粉嫩一区二区三区在线看| 国产成人综合在线| 成人高清在线视频| av网站免费线看精品| 99热这里都是精品| 在线观看网站黄不卡| 欧美精品三级日韩久久| 日韩欧美一区在线观看| 日韩精品影音先锋| 2023国产一二三区日本精品2022| 欧美精品一区二区三区四区| 久久人人97超碰com| 日本一区二区三区国色天香| 国产精品国产自产拍在线| 亚洲免费av网站| 午夜视频一区在线观看| 美女国产一区二区三区| 国产一区二区毛片| va亚洲va日韩不卡在线观看| 色噜噜狠狠色综合欧洲selulu| 欧美在线观看18| 4438亚洲最大| 久久婷婷久久一区二区三区| 国产日韩欧美精品在线| 亚洲天堂2014| 亚洲成人一区二区| 久久99精品久久久久| 成人在线视频首页| 91成人在线观看喷潮| 3d成人h动漫网站入口| 久久久久久久久99精品| 成人免费在线视频观看| 亚洲国产精品影院| 精品一区二区在线免费观看| 成人免费视频免费观看| 在线观看av不卡| 欧美成人艳星乳罩| 亚洲国产成人私人影院tom| 亚洲免费观看在线视频| 热久久免费视频| 成人午夜在线播放| 欧美日韩不卡一区| 久久久精品人体av艺术| 一区二区三区欧美日| 美女视频网站久久| www.欧美精品一二区| 欧美卡1卡2卡| 欧美激情在线一区二区| 亚洲成av人片观看| 国产高清不卡一区| 欧美日韩亚洲另类| 久久婷婷成人综合色| 亚洲精品国产无套在线观| 老司机精品视频在线| 99综合电影在线视频| 7777精品久久久大香线蕉| 国产精品久久久一本精品| 午夜激情久久久| 成人性生交大片免费看中文网站| 欧美日精品一区视频| 久久综合给合久久狠狠狠97色69| 亚洲女女做受ⅹxx高潮| 麻豆成人91精品二区三区| 91在线高清观看| 欧美不卡在线视频| 伊人色综合久久天天| 韩国精品在线观看| 91久久一区二区| 国产亚洲va综合人人澡精品| 五月天国产精品| 成人av免费网站| 精品美女被调教视频大全网站| 一区二区视频在线看| 国产一区二区三区四区在线观看| 欧美色综合网站| 一区二区中文视频| 狠狠色2019综合网| 538在线一区二区精品国产| 亚洲精品综合在线| 国产不卡在线一区| 日韩视频在线一区二区| 亚洲精品乱码久久久久久黑人| 国产老肥熟一区二区三区| 欧美一区二区三区四区视频 | 丝袜亚洲另类欧美综合| 一本在线高清不卡dvd| 中文字幕成人网| 狠狠色综合色综合网络| 91精品国产色综合久久不卡蜜臀 | 国产中文一区二区三区| 欧美另类变人与禽xxxxx| 亚洲另类春色国产|