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

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

?? textobj.cpp

?? 參數化車間設備資源繪制程序
?? CPP
字號:
//textobj.cpp 文本類的實現文檔
#include "StdAfx.h"
#include ".\textobj.h"

#include "visdrawview.h"
#include "visdrawdoc.h"

IMPLEMENT_SERIAL(CTextObj, CFigureObj, 0)

CTextObj::CTextObj(void)
{
}

CTextObj::~CTextObj(void)
{
}
CTextObj::CTextObj(const CRect& position)
         : CFigureObj(position)
{
	ASSERT_VALID(this);
	//m_plDocument = NULL;
//
	m_pPen = TRUE;
	m_plogpen.lopnStyle = PS_NULL;
	m_plogpen.lopnWidth.x = 1;
	m_plogpen.lopnWidth.y = 1;
	m_plogpen.lopnColor = RGB(0, 0, 192);

	m_pBrush = FALSE;
	m_plogbrush.lbStyle = BS_SOLID;
	m_plogbrush.lbColor = RGB(192, 192, 192);
	m_plogbrush.lbHatch = HS_HORIZONTAL;			


	m_ltx=0.0;m_lty=0.0;m_rbx=0.0;m_rby=0.0;
	m_string="0000";
}
void CTextObj::Draw(CVisDrawView* pView, CDC* pDC)
{
	
	ASSERT_VALID(this);

	CBrush brush;
	if (!brush.CreateBrushIndirect(&m_plogbrush))
		return;
	CPen pen;
	if (!pen.CreatePenIndirect(&m_plogpen))
		return;

	CBrush* pOldBrush;
	CPen* pOldPen;

	if (m_pBrush)
		pOldBrush = pDC->SelectObject(&brush);
	else
		pOldBrush = (CBrush*)pDC->SelectStockObject(WHITE_BRUSH);
		

	if (m_pPen)
		pOldPen = pDC->SelectObject(&pen);
	else
		pOldPen = (CPen*)pDC->SelectStockObject(NULL_PEN);

	 // CBrush newBrush;
     //newBrush.CreateStockObject(NULL_BRUSH);

	// pOldBrush =(CBrush*)pDC->SelectStockObject(NULL_BRUSH);

	//把世界坐標轉化為邏輯坐標
	CPoint m_ltPoint, m_rbPoint;
	
	
	CRect rect = CalcBounds(pView);

   //繪制矩形圖元
     pDC->Rectangle(rect);
	 pDC->DrawText(m_string,rect, DT_LEFT | DT_WORDBREAK );

		
	pDC->SelectObject(pOldBrush);
	pDC->SelectObject(pOldPen);
}

void CTextObj::Serialize(CArchive& ar)
{
	ASSERT_VALID(this);
	if (ar.IsStoring())
	{
	
		ar << (WORD)m_pPen;
		ar.Write(&m_plogpen, sizeof(LOGPEN));
		
		ar << m_ltx << m_lty << m_rbx << m_rby;
	}
	else
	{
		// get the document back pointer from the archive
		m_pDocument = (CVisDrawDoc*)ar.m_pDocument;
		ASSERT_VALID(m_pDocument);
		ASSERT_KINDOF(CVisDrawDoc, m_pDocument);

		WORD wTemp;
	
		ar >> wTemp; m_pPen = (BOOL)wTemp;
		ar.Read(&m_plogpen,sizeof(LOGPEN));
		
		ar >> m_ltx >> m_lty >> m_rbx >> m_rby;
	}
		
}

void CTextObj::SetPoint(int ptNumber, double x, double y)
{
	ASSERT(ptNumber <=2);
	switch(ptNumber)
	{
	case 1:
		m_ltx = x;
		m_lty = y;
		break;
	case 2:
		m_rbx = x;
		m_rby = y;
		break;            
	}
}
void CTextObj::GetPoint(int ptNumber, double& x, double& y)
{
	ASSERT(ptNumber <=2);
	switch(ptNumber)
	{
	case 1:
		x = m_ltx;
		y = m_lty;
		break;
	case 2:
		x = m_rbx;
		y = m_rby;
		break;
	}
}
CRect CTextObj::CalcBounds(CVisDrawView* pView)
{
	
	CRect rect;
	CPoint ltPoint, rbPoint;

	pView->WorldToClient(ltPoint,m_ltx,m_lty);
	pView->WorldToClient(rbPoint,m_rbx,m_rby);

	rect.TopLeft() = ltPoint;
	rect.BottomRight() = rbPoint;	

	m_position = rect;

	return rect;
}
BOOL CTextObj::IsSelected(CVisDrawView* pView, const CPoint& point)
{
	CPoint local, StartPt, EndPt;

	//參數point是鼠標的邏輯坐標
	int distance, nSelectDistance;

	CRect rect = m_position;
	//CPoint local;
	local = point;
	//鼠標點的設備坐標
	pView->DocToClient(rect);

	//識別精度值
	nSelectDistance = pView->GetDocument()->GetSetectDistance()/2;
	
	//鼠標點的設備坐標
	pView->DocToClient(local);

	//CPoint pt;
	//把點的坐標轉化為邏輯坐標
	//pView->WorldToClient(pt, m_pointx, m_pointy);

	//把點的坐標由邏輯坐標轉化為設備坐標
	//pView->DocToClient(pt);

	//計算鼠標點point與點pt之間的像素距離

	//第一條直線
		distance = abs(local.y - rect.top);
		if(distance < nSelectDistance) return true;

		//第二條直線
		distance = abs(local.x - rect.right);
		if(distance < nSelectDistance) return true;

		//第三條直線
		distance = abs(local.y - rect.bottom);
		if(distance < nSelectDistance) return true;

		//第四條直線
		distance = abs(local.x - rect.left);
		if(distance < nSelectDistance) return true;	
		return false;
}
//返回手柄個數
int CTextObj::GetHandleCount()
{
	return 9;
}
// 返回手柄中心邏輯坐標
CPoint CTextObj::GetHandle(CVisDrawView* pView, int nHandle)
{
	return CFigureObj::GetHandle(pView, nHandle);
}
// point 為邏輯坐標
void CTextObj::MoveHandleTo(int nHandle, CPoint point, CVisDrawView* pView)
{
	
	ASSERT_VALID(this);

	//把鼠標邏輯坐標轉化為世界坐標
	double pointx,pointy;
	pView->ClientToWorld(point,pointx,pointy);
   switch (nHandle)
	{
	default:
		ASSERT(FALSE);

	case 1:
		SetPoint(1,pointx,pointy);		
		break;

	case 2:
		SetPoint(1,m_ltx,pointy);		
		break;

	case 3:
		SetPoint(1,m_ltx,pointy);
		SetPoint(2,pointx,m_rby);		
		break;

	case 4:
		SetPoint(2,pointx,m_rby);		
		break;

	case 5:
		SetPoint(2,pointx,pointy);		
		break;

	case 6:
		SetPoint(2,m_rbx,pointy);		
		break;

	case 7:
		SetPoint(1,pointx,m_lty);
		SetPoint(2,m_rbx,pointy);		
		break;

	case 8:
		SetPoint(1,pointx,m_lty);		
		break;

	case 9:
		break;
	}

	//重新計算邊界矩形
	CalcBounds(pView);

	//修改文檔標志	
	m_pDocument->SetModifiedFlag();

}
// delta為邏輯坐標
void CTextObj::MoveTo(CPoint delta, CVisDrawView* pView)
{
	ASSERT_VALID(this);	
	//把delta轉化為世界坐標
	double pointx,pointy;
	
	pointx = pView->ClientToWorld(delta.x);
	pointy = -pView->ClientToWorld(delta.y);
	
	//修改矩形兩頂點坐標
	m_ltx = m_ltx + pointx;
	m_lty = m_lty + pointy;
    m_rbx = m_rbx + pointx;
	m_rby = m_rby + pointy;

	//重新計算邊界矩形
	CalcBounds(pView);

	//修改文檔標志	
	m_pDocument->SetModifiedFlag();
}

void CTextObj::SetInputText(LPCTSTR lpszText)
{
	ASSERT_VALID(this);
//	AfxMessageBox(lpszText);
    m_string=lpszText;
	Invalidate();
	m_pDocument->SetModifiedFlag();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美疯狂性受xxxxx喷水图片| 成人国产亚洲欧美成人综合网| 欧美无砖专区一中文字| 亚洲黄网站在线观看| av一区二区久久| 一区二区视频在线| 欧美日韩二区三区| 久久er99热精品一区二区| 久久欧美一区二区| 99精品视频一区二区三区| 亚洲精品你懂的| 欧美日韩不卡在线| 国产精品一区二区你懂的| 亚洲欧美在线视频观看| 欧美亚男人的天堂| 裸体在线国模精品偷拍| 久久九九影视网| 99热精品国产| 青青青伊人色综合久久| 欧美精品一区二| 99久久精品久久久久久清纯| 亚洲一区av在线| 精品国产免费人成电影在线观看四季| 国产69精品久久777的优势| 亚洲欧美日韩国产成人精品影院 | 国产午夜精品一区二区三区四区| 国产成人综合在线| 一区二区三区日本| 久久久美女艺术照精彩视频福利播放| 97精品超碰一区二区三区| 亚洲bt欧美bt精品777| 久久综合九色综合欧美亚洲| 91免费观看视频在线| 日本欧美在线看| 综合中文字幕亚洲| 日韩午夜精品视频| 91视视频在线观看入口直接观看www | 国产精品人妖ts系列视频| 精品视频资源站| 国产宾馆实践打屁股91| 无吗不卡中文字幕| 国产精品国模大尺度视频| 91精品国产91综合久久蜜臀| 成人精品免费看| 久久疯狂做爰流白浆xx| 亚洲欧美偷拍三级| 2020国产成人综合网| 欧美日韩在线亚洲一区蜜芽| av电影天堂一区二区在线观看| 青娱乐精品在线视频| 亚洲精品第一国产综合野| 久久欧美一区二区| 91精品国产aⅴ一区二区| 欧美综合在线视频| 99久久99精品久久久久久 | 国产成人激情av| 日本91福利区| 天天av天天翘天天综合网色鬼国产| 国产精品亲子伦对白| 2020日本不卡一区二区视频| 欧美丰满少妇xxxxx高潮对白| 91丨porny丨最新| 成人av动漫网站| 国产成人精品网址| 精品在线播放免费| 久久99精品国产麻豆不卡| 日本伊人午夜精品| 亚洲国产成人tv| 亚洲国产婷婷综合在线精品| 亚洲裸体在线观看| 最新日韩av在线| 国产精品传媒在线| 国产精品激情偷乱一区二区∴| 国产色产综合产在线视频| 久久欧美中文字幕| 国产日产欧美精品一区二区三区| 国产三区在线成人av| 日本一区二区三区在线不卡| 欧美激情中文字幕| 国产精品热久久久久夜色精品三区| 国产亚洲一二三区| 欧美国产禁国产网站cc| 亚洲国产精品t66y| 中文字幕视频一区二区三区久| 日本一区二区三区在线不卡| 中文字幕不卡在线| 亚洲图片另类小说| 亚洲一二三区不卡| 亚洲成av人片| 蜜臀久久99精品久久久画质超高清| 免费成人在线播放| 国产激情偷乱视频一区二区三区| 国产精品一区二区免费不卡 | 一区二区三区四区在线| 亚洲自拍偷拍综合| 免费在线视频一区| 国产精品综合在线视频| av成人免费在线| 欧美日韩你懂的| 精品成人免费观看| 国产精品美女久久久久久| 亚洲免费在线看| 三级久久三级久久久| 激情综合五月婷婷| 99久久精品国产精品久久| 欧美日韩精品一区二区三区四区 | 亚洲欧美日韩国产另类专区 | 久久久五月婷婷| 亚洲天天做日日做天天谢日日欢 | 色视频成人在线观看免| 欧美另类高清zo欧美| 久久久久九九视频| 亚洲午夜激情网站| 国产美女精品在线| 日本伦理一区二区| 欧美不卡一二三| 伊人开心综合网| 久久99国产精品尤物| 91香蕉视频mp4| 精品va天堂亚洲国产| 亚洲另类在线视频| 国内精品国产三级国产a久久| 一本大道久久a久久精品综合| 日韩欧美在线综合网| 亚洲欧洲三级电影| 久久成人久久爱| 欧美日韩在线三区| 18成人在线视频| 国产一区二区在线免费观看| 欧美性大战久久久久久久| 国产午夜一区二区三区| 视频一区二区中文字幕| 成人一道本在线| 欧美精品一区二区三区蜜臀| 亚洲444eee在线观看| 成人午夜电影网站| 欧美哺乳videos| 图片区日韩欧美亚洲| 色综合久久精品| 国产精品毛片久久久久久久| 日本aⅴ亚洲精品中文乱码| 日本乱人伦一区| 国产精品不卡视频| 国产福利电影一区二区三区| 91精品婷婷国产综合久久竹菊| 亚洲天堂精品视频| 国产麻豆精品一区二区| 欧美xxx久久| 免费观看久久久4p| 91精品国产综合久久久蜜臀图片| 亚洲欧美日韩国产成人精品影院| 成人丝袜18视频在线观看| 欧美tickling网站挠脚心| 丝袜a∨在线一区二区三区不卡| 色婷婷综合久久| 亚洲男女一区二区三区| 不卡高清视频专区| 国产精品热久久久久夜色精品三区 | 99久久99久久精品免费观看| 国产午夜精品美女毛片视频| 国产自产视频一区二区三区| 日韩一区二区三免费高清| 亚洲成av人片在线观看无码| 欧美日韩中文精品| 亚洲一区二区精品3399| 91福利区一区二区三区| 亚洲另类中文字| 在线视频欧美精品| 亚洲一级二级三级在线免费观看| 91视频免费看| 一区二区三区免费网站| 日本电影欧美片| 亚洲国产综合91精品麻豆| 欧美中文字幕亚洲一区二区va在线| 中文字幕一区在线观看| 色综合久久久久网| 亚洲图片欧美一区| 欧美日韩在线直播| 蜜桃在线一区二区三区| 精品日韩在线一区| 国产v日产∨综合v精品视频| 国产精品成人一区二区艾草 | 亚洲欧美经典视频| 欧美影视一区在线| 午夜婷婷国产麻豆精品| 4438亚洲最大| 国产一区二区三区免费观看| 国产精品护士白丝一区av| 91久久线看在观草草青青 | 狠狠色狠狠色综合日日91app| 久久久久亚洲蜜桃| 97精品久久久午夜一区二区三区| 亚洲一区在线观看网站| 91精品婷婷国产综合久久竹菊| 国内精品伊人久久久久av影院| 国产精品久久久久一区二区三区共| 色噜噜狠狠色综合中国| 麻豆精品视频在线观看免费 | 亚洲欧美乱综合| 91麻豆精品国产无毒不卡在线观看 |