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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stmaddresseventhandle.cpp

?? 電子交通地圖
?? CPP
字號:
// STMAddressEventHandle.cpp: implementation of the CSTMAddressEventHandle class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "stmeditor.h"
#include "STMAddressEventHandle.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#include "AddNameInputDlg.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSTMAddressEventHandle::CSTMAddressEventHandle()
{
	m_pDoc=NULL;
	m_bViewAddress=TRUE;
	m_pMapView=NULL;
}

CSTMAddressEventHandle::~CSTMAddressEventHandle()
{

}
void CSTMAddressEventHandle::OnMouseMove(UINT nFlags, CPoint point)
{
	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();
	point.Offset(originpoint);
	if(!(nFlags&MK_LBUTTON))//	gerenal operator
	{
		if(m_pDoc->m_bFocusChanged)
		{
			if(m_pDoc->m_preFocusEI.eleType==ET_ADDRESS &&
				m_pDoc->m_preFocusEI.index!=-1)// restore old focus address
			{
				DrawAddress(m_pDoc->m_preFocusEI.index);
			}
			if(m_pDoc->m_focusEI.eleType==ET_ADDRESS &&
				m_pDoc->m_focusEI.index!=-1)	//hilight the focus address
			{
				DrawAddress(m_pDoc->m_focusEI.index);
			}
		}
	}else	//drag
	{
		if(CanAddressMove())//move address
		{
			if(m_pDoc->m_activeType==ACT_ADDRESS_PICK)
				m_pDoc->m_activeType=ACT_ADDRESS_MOVE;
			if(m_pDoc->m_activeType==ACT_ADDRESS_MOVE)
			{
				ELEINFO ei=m_pDoc->m_arrSel.GetAt(0);
				CRgn addressrgn;
				m_pDoc->CalcAddressRgn(addressrgn,ei.index);
				addressrgn.OffsetRgn(-originpoint.x,-originpoint.y);
				m_pDoc->MoveAddress(ei.index,point);
				m_pMapView->InvalidateRgn(&addressrgn,FALSE);
				DrawAddress(ei.index);
			}	
		}
	}
}

void CSTMAddressEventHandle::OnRButtonUp(UINT nFlags, CPoint point)
{
	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();
	point.Offset(originpoint);
	if(m_pDoc->m_focusEI.eleType==ET_ADDRESS && 
		m_pDoc->m_focusEI.index !=-1)
	{
		if(m_pDoc->m_activeType!=ACT_ADDRESS_MOVE) //delete address
		{
			CRgn effectrgn;
			m_pDoc->RemoveAddress(effectrgn,m_pDoc->m_focusEI.index);
			effectrgn.OffsetRgn(-originpoint.x,-originpoint.y);
			m_pDoc->m_focusEI.index=-1;
			m_pMapView->InvalidateRgn(&effectrgn,FALSE);
		}
	}
}

void CSTMAddressEventHandle::OnLButtonUp(UINT nFlags, CPoint point)
{
	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();
	point.Offset(originpoint);
	if(m_pDoc->m_focusEI.eleType==ET_NULL)//destinate focus type
	{
		if(m_pDoc->m_activeType==ACT_ADDRESS_PICK)
		{
			ADDRESSINFO ai;
			CAddNameInputDlg inputdlg;
			if(inputdlg.DoModal()==IDOK)
			{
				strcpy(ai.name,inputdlg.m_AddName);
				ai.type=inputdlg.m_AddType;
				ai.pos=point;
				int index=m_pDoc->AddAddress(ai);
				DrawAddress(index);
			}
		}
	}else if(m_pDoc->m_focusEI.eleType==ET_ADDRESS && 
		m_pDoc->m_focusEI.index!=-1)	//self type
	{
		if(m_pDoc->m_activeType==ACT_ADDRESS_PICK)
		{
			if(m_pDoc->m_focusEI.eleType==ET_ADDRESS)//非法 position
			{
				m_pMapView->MessageBox("duplicated address position","error position!");
			}
		}else if(m_pDoc->m_activeType==ACT_ADDRESS_MOVE)
		{
			m_pDoc->m_activeType=ACT_ADDRESS_PICK;
		}else if(m_pDoc->m_activeType==ACT_BROWSE)
		{
			CString msg;
			ADDRESSINFO ai=m_pDoc->m_arrAddress.GetAt(m_pDoc->m_focusEI.index);
			msg.Format("you clicked a address! name=%s,position:x=%d;y=%d",ai.name,ai.pos.x,ai.pos.y );
//			m_pMapView->MessageBox(msg,"info");
		}
	}
}

BOOL CSTMAddressEventHandle::CanAddressMove()
{
	BOOL ret=TRUE;
	if(m_pDoc->m_arrSel.GetSize()!=1)
		ret=FALSE;
	else 
	{
		ELEINFO ei=m_pDoc->m_arrSel.GetAt(0);
		if(ei.eleType!=ET_ADDRESS||ei.index==-1)
			ret=FALSE;
	}
	return ret;
}

void CSTMAddressEventHandle::DrawAddress(int index)
{
	ADDRESSINFO ai=m_pDoc->m_arrAddress.GetAt(index);
	ELEINFO	ei;
	ei.eleType=ET_ADDRESS;
	ei.index=index;
	ELESTATE state=m_pDoc->GetElementState(ei);//get element state
	COLORREF color;
	switch(state)
	{
	case ES_NORMAL:color=RGB(0,192,192);break;
	case ES_FOCUS:color=RGB(255,255,0);break;
	case ES_SELECTED:color=RGB(255,0,0);break;
	}
	
	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();
	ai.pos.x-=originpoint.x;
	ai.pos.y-=originpoint.y;
	CRect    rc=m_pDoc->CalcAddressRect(ai.pos);
	CDC *pDC=m_pMapView->GetDC();
	pDC->FillSolidRect(&rc,color);
	int mode=pDC->SetBkMode(TRANSPARENT);
	pDC->TextOut(rc.right,rc.top,ai.name,strlen(ai.name));
	pDC->SetBkMode(mode);
	m_pMapView->ReleaseDC(pDC);
}

void CSTMAddressEventHandle::DrawAllAddresses()
{
	for(int i=0;i<m_pDoc->m_arrAddress.GetSize();i++)
		DrawAddress(i);
}

void CSTMAddressEventHandle::OnLButtonDown(UINT nFlags, CPoint point)
{
	//draw new selected cross
	if(m_pDoc->m_focusEI.eleType==ET_ADDRESS &&
		m_pDoc->m_focusEI.index!=-1)
	{
		ELEINFO ei=m_pDoc->m_focusEI;
		m_pDoc->SelectElements(&ei,1);
		DrawAddress(ei.index);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜影院久久久| 蜜臀av在线播放一区二区三区 | 欧美一区二区三区免费在线看| 免费成人av在线| 亚洲国产一区二区三区青草影视| ...xxx性欧美| 亚洲激情av在线| 久久精品免费观看| 免费在线一区观看| 午夜精品久久久久久久99樱桃| 亚洲在线中文字幕| 麻豆国产精品视频| 99国产精品一区| 欧美一区二区视频观看视频| 欧美电影免费观看高清完整版在线 | 在线电影国产精品| 久久亚洲综合av| 国产精品动漫网站| 91日韩一区二区三区| 国模大尺度一区二区三区| 亚洲另类春色校园小说| 美女免费视频一区| 成人亚洲一区二区一| 日韩一级完整毛片| 国产精品理论在线观看| 免费美女久久99| 91国产精品成人| 国产三级久久久| 喷水一区二区三区| 欧美亚洲一区二区在线观看| 国产精品视频免费| 精一区二区三区| 欧美日本一区二区| 亚洲午夜羞羞片| 在线免费亚洲电影| 久久精品欧美一区二区三区麻豆| 日本不卡的三区四区五区| 91看片淫黄大片一级| 国产欧美精品国产国产专区| 久久综合久久久久88| 国产精品成人一区二区艾草| 国产高清精品在线| 久久老女人爱爱| 国产成人亚洲精品狼色在线| 欧美xxxxxxxx| 国产一区二区免费视频| 欧美va在线播放| 精品一区二区三区久久久| 欧美本精品男人aⅴ天堂| 九色|91porny| 国产欧美日韩精品一区| jlzzjlzz欧美大全| 美女一区二区视频| 国产精品综合一区二区三区| 在线观看一区二区视频| 久久嫩草精品久久久久| 欧美日本一道本| 亚洲一区二区三区视频在线 | 亚洲一区二区三区国产| 色呦呦国产精品| 午夜日韩在线电影| 久久综合国产精品| 不卡的av网站| 丝袜亚洲另类欧美综合| 久久久久青草大香线综合精品| 成人av动漫网站| 天天影视涩香欲综合网| 国产亚洲精久久久久久| 色综合 综合色| 日本美女视频一区二区| 久久精品视频免费| 欧美色视频在线| 国产很黄免费观看久久| 亚洲综合网站在线观看| 国产亚洲成av人在线观看导航 | 成人精品高清在线| 蜜桃一区二区三区在线观看| 久久草av在线| 中文字幕亚洲不卡| 91福利社在线观看| 日本大胆欧美人术艺术动态| 国产喂奶挤奶一区二区三区| 欧美中文字幕久久| 成人国产精品免费观看动漫 | 99这里只有久久精品视频| 日韩中文字幕亚洲一区二区va在线| 日本一区二区三区在线观看| 欧美精品v国产精品v日韩精品 | 日本伊人色综合网| 亚洲在线观看免费| 国产精品福利影院| 亚洲国产电影在线观看| 2024国产精品| 久久久久久久久久久久久女国产乱| 精品视频全国免费看| 色系网站成人免费| 色欧美乱欧美15图片| 不卡视频在线看| 成人丝袜高跟foot| 成人av免费在线观看| 国产欧美精品一区二区色综合| 日韩欧美自拍偷拍| 精品国产一区二区在线观看| 欧美白人最猛性xxxxx69交| 欧美一级高清大全免费观看| 欧美一区三区四区| 日韩一区二区免费在线电影| 欧美一级黄色片| 久久久精品影视| 亚洲色欲色欲www| 亚洲综合色自拍一区| 天堂资源在线中文精品| 青娱乐精品视频在线| 国产成人精品在线看| 99re这里只有精品视频首页| 欧美午夜精品久久久久久超碰| 欧美日韩精品系列| 久久久国产午夜精品| 亚洲人吸女人奶水| 久久er精品视频| 99国产精品一区| 欧美精品777| 日韩免费在线观看| 中文字幕日韩欧美一区二区三区| 最新国产精品久久精品| 日韩专区中文字幕一区二区| 久久97超碰国产精品超碰| 不卡电影免费在线播放一区| 在线观看日韩一区| 精品国产免费一区二区三区香蕉| 成人欧美一区二区三区小说 | 国产成人99久久亚洲综合精品| 在线一区二区三区| 国产欧美日韩久久| 日韩成人一级大片| 91一区二区在线观看| 久久亚洲一区二区三区四区| 一区二区激情视频| 成人免费看的视频| 精品国产伦一区二区三区免费| 夜夜嗨av一区二区三区| 成人三级伦理片| 久久九九久久九九| 国产麻豆欧美日韩一区| 欧美精选在线播放| 亚洲成在线观看| 在线观看日韩精品| 一区二区三区四区高清精品免费观看| 国产一区二区电影| 精品国产精品网麻豆系列| 日本欧美在线看| 91精品国产综合久久精品app| 一个色综合网站| 色综合久久久久久久| 亚洲欧美日韩综合aⅴ视频| 波多野洁衣一区| 亚洲欧美另类久久久精品| 色综合欧美在线视频区| 亚洲精品视频免费看| 欧洲视频一区二区| 亚洲成人在线观看视频| 91精品国产色综合久久不卡蜜臀| 免费在线成人网| 久久麻豆一区二区| 99综合电影在线视频| 日韩伦理免费电影| 欧美日韩国产精品成人| 日韩高清一级片| 欧美日韩高清一区二区三区| 亚洲日本欧美天堂| 欧美精品 日韩| 国产一区二区久久| 国产精品久久久久三级| 欧美三级午夜理伦三级中视频| 欧美a级理论片| 国产精品私人影院| 在线观看日韩毛片| 国产成人免费视| 亚洲福利视频导航| 久久人人97超碰com| 日本乱人伦一区| 国产成人在线视频网站| 亚洲午夜精品网| 国产精品免费人成网站| 欧美日韩精品高清| 成人黄色在线视频| 免费在线观看日韩欧美| 亚洲欧美一区二区视频| 日韩免费观看高清完整版| 99久久er热在这里只有精品66| 免费久久99精品国产| 亚洲欧美日韩中文播放| 26uuu亚洲综合色| 欧美放荡的少妇| 91小视频在线免费看| 丁香婷婷综合激情五月色| 免费成人美女在线观看.| 亚洲一区二区欧美日韩| 1区2区3区欧美| 国产精品区一区二区三区|