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

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

?? target.cpp

?? 電子尺源程序說明 本程序使用ADO訪問Access2000的數(shù)據(jù)庫。
?? CPP
字號:
// Target.cpp : implementation file
//

#include "stdafx.h"
#include "new ruler.h"
#include "Target.h"
#include "Math.h"

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

/////////////////////////////////////////////////////////////////////////////
// Target

CTarget::CTarget()
{
	m_pPenAux = NULL;
	m_colorStart = RGB(255, 0, 0);
	m_colorAux = RGB(0, 0, 0);
	m_colorFont = RGB(0, 0, 0);
}

CTarget::~CTarget()
{
	if (m_pPenAux)
		delete m_pPenAux;
}

BEGIN_MESSAGE_MAP(CTarget, CWnd)
	//{{AFX_MSG_MAP(CTarget)
	ON_WM_RBUTTONUP()
	ON_WM_LBUTTONDOWN()
	ON_WM_MOUSEMOVE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CTarget message handlers

void CTarget::CreateTarget(LPCTSTR lpTitle, CWnd* pWnd)
{
	//取得屏幕寬度
	m_cxScreen = ::GetSystemMetrics(SM_CXSCREEN);
	m_cyScreen = ::GetSystemMetrics(SM_CYSCREEN);
	//創(chuàng)建透明窗口
	CreateEx(WS_EX_TOPMOST, 
		AfxRegisterWndClass(0, AfxGetApp()->LoadStandardCursor(IDC_ARROW)), 
		"Target", WS_POPUP, 0, 0, m_cxScreen, m_cyScreen, NULL, NULL, NULL );

	//得到當(dāng)前窗口的DC,以便繪制輔助線、坐標(biāo)等
	CDC * pDC;
	pDC = GetDC();
	//V1.06后pDC不保存,改為需要繪圖時再取DC指針,否則會非法操作

	//表示目前尚未點擊
	m_bSecond = FALSE;

	//記錄父窗口的指針,以便測量結(jié)束進行通知
	m_pWndParent = pWnd;

	//窗口內(nèi)存DC保存當(dāng)前屏幕,輔助線移動時重繪窗口
	m_MemDC.CreateCompatibleDC(NULL);
	CBitmap Bitmap;
	Bitmap.CreateCompatibleBitmap(pDC, m_cxScreen, m_cyScreen);
	m_MemDC.SelectObject(&Bitmap);
	m_MemDC.BitBlt(0, 0, m_cxScreen, m_cyScreen, pDC, 0, 0, SRCCOPY);
	Bitmap.DeleteObject();

	//創(chuàng)建輔助線的畫筆
	m_pPenAux = new CPen(PS_SOLID, 1, m_colorAux);
}

void CTarget::OnRButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	// CDC * pDC;
	// pDC = GetDC();
	
	m_MemDC.DeleteDC();

	CWnd::OnRButtonUp(nFlags, point);
	// pDC->DeleteDC();

	::DeleteObject(m_pPenAux->m_hObject);
	delete m_pPenAux;
	m_pPenAux = NULL;

	DestroyWindow();
	m_pWndParent->PostMessage(WM_CANCELCLICK);
}

void CTarget::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CDC * pDC;
	pDC = GetDC();

	if(m_bSecond == FALSE)
	{
		m_StartPos = point;
		m_bSecond = TRUE;
		pDC->BitBlt(0, 0, m_cxScreen, m_cyScreen, &m_MemDC, 0, 0, SRCCOPY);
		CPen pen(PS_SOLID, 2, m_colorStart);
		CPen * pOldPen;
		pOldPen = pDC->SelectObject(&pen);
		pDC->MoveTo(point.x - 10, point.y);
		pDC->LineTo(point.x + 10, point.y);
		pDC->MoveTo(point.x, point.y - 10);
		pDC->LineTo(point.x, point.y + 10);
		pDC->SelectObject(pOldPen);
		::DeleteObject(pen.m_hObject);
		m_MemDC.BitBlt(0, 0, m_cxScreen, m_cyScreen, pDC, 0, 0, SRCCOPY);
		ReleaseDC(pDC);   // Modified by Wang Hongying Apr. 21, 2002
	}
	else
	{
		m_EndPos = point;
		Calculate();
		// pDC->DeleteDC();  // Modified by Wang Hongying Apr. 21, 2002
		ReleaseDC(pDC);   // Modified by Wang Hongying Apr. 21, 2002
		m_MemDC.DeleteDC();

		::DeleteObject(m_pPenAux->m_hObject);
		delete m_pPenAux;
		m_pPenAux = NULL;

		DestroyWindow();
		m_pWndParent->PostMessage(WM_ENDCLICK);
	}

	CWnd::OnLButtonDown(nFlags, point);
}

void CTarget::Calculate()
{
	double x, y;

	x = m_EndPos.x - m_StartPos.x;
	y = m_EndPos.y - m_StartPos.y;
	//計算長度(像素)
	m_iLen_p = (int)sqrt(x * x + y * y);
	//計算面積(像素)
	m_AreaRectangle_Pixel = abs(int(x * y));

	CDC * pDC;
	pDC = GetDC();
	pDC->SetMapMode(MM_LOMETRIC);

	POINT tmpStart = m_StartPos;
	POINT tmpEnd = m_EndPos;

	pDC->DPtoLP(&tmpStart);
	pDC->DPtoLP(&tmpEnd);

	x = tmpEnd.x - tmpStart.x;
	y = tmpEnd.y - tmpStart.y;
	//計算長度(0.1毫米)
	m_dLen_m = sqrt(x * x + y * y);
	//計算面積(0.01平方毫米)
	m_AreaRectangle_MM = fabs(x*y);

	pDC->SetMapMode(MM_LOENGLISH);

	tmpStart = m_StartPos;
	tmpEnd = m_EndPos;

	pDC->DPtoLP(&tmpStart);
	pDC->DPtoLP(&tmpEnd);

	x = tmpEnd.x - tmpStart.x;
	y = tmpEnd.y - tmpStart.y;
	//計算長度(0.01inch)
	m_dLen_i = sqrt(x * x + y * y);
	//計算面積(0.0001平方inch)
	m_AreaRectangle_Inch = fabs(x*y);

	ReleaseDC(pDC);
}

void CTarget::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CDC* pDC;
	pDC = GetDC();

	pDC->SetMapMode(MM_TEXT);
	pDC->SelectObject(m_pPenAux);

	pDC->BitBlt(0, 0, m_cxScreen, m_cyScreen, &m_MemDC, 0, 0, SRCCOPY);
	pDC->MoveTo(0, point.y);
	pDC->LineTo(m_cxScreen, point.y);
	pDC->MoveTo(point.x, 0);
	pDC->LineTo(point.x, m_cyScreen);

	//顯示當(dāng)前坐標(biāo)
	pDC->SetTextColor(m_colorFont);
	CString strCord;
	//如果已點擊過一次,再顯示距離
	if (m_bSecond)
	{
		double x, y;
		x = point.x - m_StartPos.x;
		y = point.y - m_StartPos.y;
		int iDistance = (int)sqrt(x * x + y * y);
		strCord.Format("當(dāng)前:%d,%d 距離:%d",point.x,point.y,iDistance);
	}
	else
		strCord.Format("當(dāng)前:%d,%d",point.x,point.y);
	//輸出
	CSize sizeCordWidth = pDC->GetOutputTextExtent(strCord);
	int iOffsetX = 0, iOffsetY = 0;
	//移到邊界時,調(diào)整顯示位置
	if((m_cxScreen - point.x) <= (sizeCordWidth.cx + 25))
		iOffsetX = -(sizeCordWidth.cx + 40);
	if ((m_cyScreen - point.y) <= (sizeCordWidth.cy + 25))
		iOffsetY = -(sizeCordWidth.cy + 40);
	pDC->TextOut(point.x + 20 + iOffsetX, point.y + 20 + iOffsetY, strCord);

	if (m_bSecond)
	{
		pDC->MoveTo(m_StartPos.x, m_StartPos.y);
		pDC->LineTo(point.x, point.y);
	}

	ReleaseDC(pDC);
	CWnd::OnMouseMove(nFlags, point);
}

RECT CTarget::GetPoints()
{
	//以RECT結(jié)構(gòu)返回兩點(起點、終點)坐標(biāo)
	//左上角為起點,右下角為終點
	////////////////////////////////////////
	//rect.left		起點橫坐標(biāo)
	//rect.top		起點縱坐標(biāo)
	//rect.right	終點橫坐標(biāo)
	//rect.bottom	終點縱坐標(biāo)
	////////////////////////////////////////
	RECT rect;
	rect.left = m_StartPos.x;
	rect.top = m_StartPos.y;
	rect.right = m_EndPos.x;
	rect.bottom = m_EndPos.y;

	return rect;
}

int CTarget::GetLength_Pixel()
{
	//返回以像素為單位的長度
	return m_iLen_p;
}

double CTarget::GetLength_MM()
{
	//返回以毫米為單位的長度
	return m_dLen_m / 10;
}

double CTarget::GetLength_Inch()
{
	//返回以英寸為單位的長度
	return m_dLen_i / 100;
}

void CTarget::SetColor(COLORREF Aux, COLORREF Start, COLORREF Font)
{
	//設(shè)置參照物的顏色
	m_colorAux = Aux;		//輔助線
	m_colorFont = Font;		//坐標(biāo)字
	m_colorStart = Start;	//起點標(biāo)志
}

double CTarget::GetArea_Rectangle_MM()
{
	/////////////////////////////////////////
	//返回兩點間圍成矩形的面積
	//單位:平方毫米
	/////////////////////////////////////////

	return m_AreaRectangle_MM / 100;
}

double CTarget::GetArea_Rectangle_Inch()
{
	/////////////////////////////////////////
	//返回兩點間圍成矩形的面積
	//單位:平方inch
	/////////////////////////////////////////

	return m_AreaRectangle_Inch / 10000;
}

int CTarget::GetArea_Rectangle_Pixel()
{
	/////////////////////////////////////////
	//返回兩點間圍成矩形的面積
	//單位:像素數(shù)
	/////////////////////////////////////////

	return m_AreaRectangle_Pixel;
}

int CTarget::GetArea_Circle_Pixel()
{
	/////////////////////////////////////////
	//返回以起點為圓心,長度為半徑的圓形面積
	//單位:像素數(shù)
	/////////////////////////////////////////

	return int(2 * PI * m_iLen_p * m_iLen_p);
}

double CTarget::GetArea_Circle_MM()
{
	/////////////////////////////////////////
	//返回以起點為圓心,長度為半徑的圓形面積
	//單位:平方毫米
	/////////////////////////////////////////

	return 2 * PI * m_dLen_m * m_dLen_m /100;
}

double CTarget::GetArea_Circle_Inch()
{
	/////////////////////////////////////////
	//返回以起點為圓心,長度為半徑的圓形面積
	//單位:平方Inch
	/////////////////////////////////////////

	return 2 * PI * m_dLen_i * m_dLen_i /10000;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影免费一区| 一区二区高清视频在线观看| 久久国内精品自在自线400部| 日韩欧美在线123| 国产最新精品精品你懂的| 久久精品人人做| 成人av在线网| 亚洲成人7777| 欧美精品一区二区三区在线| 成人精品电影在线观看| 亚洲男同性视频| 欧美巨大另类极品videosbest | 欧美人与性动xxxx| 久久99精品网久久| 成人欧美一区二区三区在线播放| 91老司机福利 在线| 亚洲电影第三页| 欧美电视剧免费全集观看| 国产激情偷乱视频一区二区三区 | 日韩色在线观看| 国产suv精品一区二区三区| 日韩伦理av电影| 欧美一级欧美三级在线观看| 国产精品一卡二卡在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 欧美电影一区二区| 懂色av噜噜一区二区三区av| 亚洲成人免费在线观看| 国产欧美在线观看一区| 欧美色倩网站大全免费| 国产盗摄一区二区| 亚洲bt欧美bt精品777| 国产亚洲一本大道中文在线| 在线免费观看成人短视频| 国产一区欧美二区| 亚洲大片精品永久免费| 国产精品久久久久精k8 | 欧美精品三级日韩久久| 欧美肥大bbwbbw高潮| 国产精品亚洲а∨天堂免在线| 日韩码欧中文字| 久久影院午夜论| 精品视频色一区| 91视频国产观看| 国产主播一区二区三区| 日韩主播视频在线| 中文字幕一区日韩精品欧美| 日韩欧美色电影| 欧美日韩国产一区| 色噜噜狠狠色综合欧洲selulu| 国产中文字幕精品| 蜜臀av性久久久久蜜臀av麻豆| 一区二区三区在线观看动漫| 中文字幕精品一区| 欧美精品一区二区三区蜜桃 | 日本视频免费一区| 亚洲欧美日韩国产综合| 日本一区二区成人在线| 337p日本欧洲亚洲大胆色噜噜| 日韩欧美中文字幕一区| 99热国产精品| 国产成人aaa| 国产美女精品人人做人人爽| 日韩av中文在线观看| 亚洲成人手机在线| 亚洲国产日韩av| 亚洲综合免费观看高清完整版 | 国产欧美一区二区精品婷婷| 精品国产sm最大网站免费看| 欧美一区二区精品久久911| 欧美日韩精品一区二区在线播放| 欧美亚洲动漫精品| 欧美三级三级三级| 色婷婷综合久久| 色综合中文综合网| 欧美videofree性高清杂交| 91精品国产综合久久香蕉麻豆| 欧美日韩色一区| 欧美精品一卡二卡| 欧美电影影音先锋| 日韩女优毛片在线| 2021中文字幕一区亚洲| 国产亚洲一二三区| 国产精品青草综合久久久久99| 国产精品三级视频| 亚洲免费观看高清完整版在线观看 | 日韩欧美国产不卡| 久久众筹精品私拍模特| 国产亚洲欧美一区在线观看| 国产精品色在线观看| 亚洲美女视频在线| 亚洲成av人片在线观看无码| 日日夜夜免费精品| 精品一区二区三区在线观看国产| 国产精品1区2区3区| 99re在线精品| 欧美色图激情小说| 精品国产一区二区三区忘忧草| 国产亚洲婷婷免费| 亚洲综合久久久久| 精品一区二区免费| 91亚洲精品一区二区乱码| 欧美午夜精品一区二区三区| 欧美一区二区三区视频免费| 国产视频不卡一区| 亚洲小说欧美激情另类| 经典三级在线一区| 色哟哟一区二区在线观看 | 丁香网亚洲国际| 色久综合一二码| 日韩一区二区三区在线视频| 国产精品美女久久久久久久| 亚洲超碰97人人做人人爱| 国产一区久久久| 在线精品国精品国产尤物884a| 精品日韩欧美一区二区| 一区二区成人在线| 国产精品亚洲视频| 欧美嫩在线观看| 亚洲欧洲性图库| 久色婷婷小香蕉久久| 一本色道**综合亚洲精品蜜桃冫| 欧美一区二区三区电影| 亚洲免费看黄网站| 国产一二三精品| 欧美夫妻性生活| 亚洲欧洲在线观看av| 国产自产高清不卡| 欧美二区三区的天堂| 亚洲精品亚洲人成人网| 精品一区二区三区欧美| 欧美吻胸吃奶大尺度电影| 国产欧美一区二区三区在线看蜜臀| 五月婷婷综合在线| 色综合久久天天| 日本一区二区三区国色天香 | 国产一二精品视频| 91精品国产手机| 亚洲精品乱码久久久久久| 国产69精品久久久久777| 日韩一本二本av| 亚洲电影视频在线| 欧美专区日韩专区| 亚洲激情自拍视频| 成人动漫精品一区二区| 久久一区二区视频| 蜜桃91丨九色丨蝌蚪91桃色| 欧美色综合网站| 亚洲精品欧美专区| 91亚洲大成网污www| 国产精品白丝在线| 成人精品小蝌蚪| 国产精品久久久久久亚洲伦 | 国产一区二区三区高清播放| 日韩免费看网站| 九九**精品视频免费播放| 日韩亚洲欧美综合| 蜜桃在线一区二区三区| 欧美一级欧美一级在线播放| 日韩—二三区免费观看av| 欧美精品日韩精品| 婷婷夜色潮精品综合在线| 欧美日韩国产综合久久| 无吗不卡中文字幕| 日韩一区二区三区在线| 日产精品久久久久久久性色| 91精品国产91久久久久久最新毛片| 日本视频免费一区| 精品理论电影在线| 国产成人综合网站| 中文字幕免费不卡在线| 91麻豆国产精品久久| 亚洲一区二区三区国产| 欧美日韩三级一区二区| 狂野欧美性猛交blacked| 久久久久久电影| 成人app在线观看| 亚洲女同一区二区| 欧美日本一道本在线视频| 久久er99精品| 国产日产欧美一区二区视频| 91在线观看视频| 亚洲一区免费视频| 日韩一区二区三区在线观看| 国产精品自产自拍| 亚洲日本乱码在线观看| 精品视频999| 国产一区二区三区四| 综合色天天鬼久久鬼色| 欧美精品日韩一本| 国产精品99久久久久久久vr| 日韩一区在线播放| 91精品欧美综合在线观看最新| 国精产品一区一区三区mba桃花| 国产精品欧美经典| 欧美精品自拍偷拍| 成人高清免费观看| 亚洲成年人影院| 国产亚洲欧美在线| 欧美日韩国产区一|