⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dwell.cpp

📁 连接oracle
💻 CPP
字号:
// DWell.cpp: implementation of the CDWell class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "drawcli.h"
#include "DWell.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDWell::CDWell()
{
	fX = 0.0;				//X轴
	fY = 0.0;				//Y轴
	//pJoinWellNO ;		//关联井
	//pLayers = NULL;			//拥有的层
	sWellNO = "";			//井号
	sMQJB	= "";			//目前井别
	//sParentNO = "";
	iDBJS = 0;
	m_nPoint = 0;
}

CDWell::~CDWell()
{

}

BOOL CDWell::Offset(int x, int y)
{
	if(cMoveFlag == 'Y')
	{	
		if(m_WellMidRect)
		{
			m_WellMidRect = m_OldWellMidRect;
			m_WellMidRect.OffsetRect(x,y); 
		}
		if(m_WellRect)
		{
			m_WellRect = m_OldWellRect;
			m_WellRect.OffsetRect(x,y);
		}
		if(m_TitleRect)
		{
			m_TitleRect = m_OldTitleRect;
			m_TitleRect.OffsetRect(x,y);
		}
		int iL = pLayers.GetSize();
		for(int i=0;i<iL;i++)
		{
			CDLayer* clayer = (CDLayer *)pLayers[i];
			clayer->Offset(x,y);
		}
	}
	return TRUE;
}

BOOL CDWell::CopyToOld()
{
	if(sMQJB == "31")
	{
		m_OldWellMidRect.left = (long)(m_WellMidRect.left /g_fZoom);
		m_OldWellMidRect.top = (long)(m_WellMidRect.top /g_fZoom);
		m_OldWellMidRect.right = (long)(m_WellMidRect.right /g_fZoom);
		m_OldWellMidRect.bottom = (long)(m_WellMidRect.bottom /g_fZoom);
	}
	m_OldWellRect.left = (long)(m_WellRect.left /g_fZoom);
	m_OldWellRect.top = (long)(m_WellRect.top /g_fZoom);
	m_OldWellRect.right = (long)(m_WellRect.right /g_fZoom);
	m_OldWellRect.bottom = (long)(m_WellRect.bottom /g_fZoom);
	
	m_OldTitleRect.left = (long)(m_TitleRect.left /g_fZoom);
	m_OldTitleRect.top = (long)(m_TitleRect.top /g_fZoom);
	m_OldTitleRect.right = (long)(m_TitleRect.right /g_fZoom);
	m_OldTitleRect.bottom = (long)(m_TitleRect.bottom /g_fZoom);
	
	int iL = pLayers.GetSize();
	for(int i=0;i<iL;i++)
	{
		CDLayer* clayer = (CDLayer *)pLayers[i];
		clayer->CopyToOld();
	}
	return TRUE;
}

BOOL CDWell::OffsetOld(int x, int y,int offsetX,int offsetY)
{
	int ix = (int)(x / g_fZoom );//- offsetX;
	int iy = (int)(y / g_fZoom);//- offsetY;
	if(m_OldWellMidRect)
		m_OldWellMidRect.OffsetRect(ix,iy);
	if(m_OldWellRect)
		m_OldWellRect.OffsetRect(ix,iy);
	if(m_OldTitleRect)
		m_OldTitleRect.OffsetRect(ix,iy);
	int iL = pLayers.GetSize();
	for(int i=0;i<iL;i++)
	{
		CDLayer* clayer = (CDLayer *)pLayers[i];
		clayer->OffsetOld(ix,iy);
	}
	return TRUE;
}

BOOL CDWell::ZoomInOut(int x, int y,int offsetX,int offsetY)
{
	CRect lrect1,lrect2,lrect3;
	if(sMQJB == "31")
	{
		lrect1 = m_OldWellMidRect;
		lrect1.OffsetRect(offsetX,offsetY);
		m_WellMidRect.left = (long)(lrect1.left * g_fZoom);
		m_WellMidRect.top = (long)(lrect1.top *g_fZoom);
		m_WellMidRect.right = (long)(lrect1.right *g_fZoom);
		m_WellMidRect.bottom = (long)(lrect1.bottom *g_fZoom);
		m_WellMidRect.OffsetRect(x,y);
	}
	lrect2 = m_OldWellRect;
	lrect2.OffsetRect(offsetX,offsetY);
	m_WellRect.left = (long)(lrect2.left *g_fZoom);
	m_WellRect.top = (long)(lrect2.top *g_fZoom);
	m_WellRect.right = (long)(lrect2.right *g_fZoom);
	m_WellRect.bottom = (long)(lrect2.bottom *g_fZoom);
	m_WellRect.OffsetRect(x,y);

	lrect3 = m_OldTitleRect;
	lrect3.OffsetRect(offsetX,offsetY);
	m_TitleRect.left = (long)(lrect3.left *g_fZoom);
	m_TitleRect.top = (long)(lrect3.top *g_fZoom);
	m_TitleRect.right = (long)(lrect3.right *g_fZoom);
	m_TitleRect.bottom = (long)(lrect3.bottom *g_fZoom);
	m_TitleRect.OffsetRect(x,y);

	int iL = pLayers.GetSize();
	for(int i=0;i<iL;i++)
	{
		CDLayer* clayer = (CDLayer *)pLayers[i];
		clayer->ZoomInOut(x, y, offsetX, offsetY);
	}
	return TRUE;
}

void CDWell::Serialize(CArchive &ar)
{
	int icnt,i;
	if (ar.IsStoring())
	{
		ar << fX;
		ar << fY;
		ar << sWellNO;
		ar << sMQJB;
		ar << iDBJS;
		ar << cSubList;
		ar << cMoveFlag;
		ar << cFault;
		ar << m_TitleRect;
		ar << m_WellRect;
		ar << m_WellMidRect;
		ar << m_Color;
		ar << m_OldTitleRect;
		ar << m_OldWellRect;
		ar << m_OldWellMidRect;
		icnt = pLayers.GetSize();
		ar << (WORD)icnt;
		for(i=0; i<icnt; i++)
		{
			CDLayer* layer = (CDLayer *)pLayers[i];
			ASSERT (layer!= NULL);
			layer->Serialize(ar);
		}
		m_ArrParentNO.Serialize(ar);
		m_ArrFaultNO.Serialize(ar);
		m_ArrLinkSerial.Serialize(ar);
	}
	else
	{
		WORD wTemp;
		ar >> fX;
		ar >> fY;
		ar >> sWellNO;
		ar >> sMQJB;
		ar >> iDBJS;
		ar >> cSubList;
		ar >> cMoveFlag;
		ar >> cFault;
		ar >> m_TitleRect;
		ar >> m_WellRect;
		ar >> m_WellMidRect;
		ar >> m_Color;
		ar >> m_OldTitleRect;
		ar >> m_OldWellRect;
		ar >> m_OldWellMidRect;
		ar >> wTemp;icnt = wTemp;
		for(i=0; i<icnt; i++)
		{
			CDLayer* layer = new CDLayer ;
			layer->Serialize(ar);
			pLayers.Add(layer);
			
		}
		m_ArrParentNO.Serialize(ar);
		m_ArrFaultNO.Serialize(ar);
		m_ArrLinkSerial.Serialize(ar);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -