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

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

?? line.cpp

?? WinCE開發技巧與實例的配套源碼
?? CPP
字號:
// Line.cpp: implementation of the CLine class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Gr.h"
#include "Line.h"

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

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

CLine::CLine()
{
	WithDash=FALSE;
	WithDot = TRUE;
	DotSize = 3;
	xCoorDeta=0;
	xDeta = 5;
	yCoorDeta=0;
	yDeta = 5;
	TitleMode=CBaseGr::TOP;
	LegendMode=CBaseGr::BOTTOM;
}

CLine::~CLine()
{

}
void CLine::AddLineData(CLineData*& pLineData)
{
	LineDataList.AddTail(pLineData);
}
void CLine::DrawCurveLine(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy)
{
	int nWidth = 30;
	DrawCoordinate(pDC,LeftTopx+40,LeftTopy+37,RightBottomx-4-nWidth,RightBottomy-54,WithDash);
	DrawContent(pDC,LeftTopx+40,LeftTopy+37,RightBottomx-4-nWidth,RightBottomy-54);
	DrawLegend(pDC,RightBottomx-2-nWidth,LeftTopy+37,nWidth,LegendMode);
}
void CLine::DrawLegend(CDC* pDC,int Startx,int Starty,int Width,Align Mode,COLORREF FontColor)
{
	int i=0;
//	int nWidth=0;
//	if(m_Legend.GetSize()>0)
//		nWidth = m_Legend[0].Name.GetLength();
//	for(i=1;i<m_Legend.GetSize();i++)
//	{
//		if(nWidth < m_Legend[i].Name.GetLength())
//			nWidth = m_Legend[i].Name.GetLength();
//	}
	CFont m_font;
//	m_font.CreateFont(
//		  12,                      // nHeight
//		  0,                      // nWidth
//		   0,                      // nEscapement
//		   0,                      // nOrientation
//			FW_NORMAL,             // nWeight
//			FALSE,                 // bItalic
//			FALSE,                 // bUnderline
//		   FALSE,                      // cStrikeOut
//		OEM_CHARSET,              // nCharSet
//		OUT_DEFAULT_PRECIS,        // nOutPrecision
//		CLIP_DEFAULT_PRECIS,       // nClipPrecision
//		DEFAULT_QUALITY,           // nQuality
//		DEFAULT_PITCH | FF_DONTCARE,  // nPitchAndFamily
//		_T("宋體")); 
	m_font.CreatePointFont(100,_T("宋體"));
	CFont *pOldFont = pDC->SelectObject(&m_font);
	pDC->SetTextColor(FontColor);
	POSITION pos;
	switch(Mode)
	{
	case TOP:
		DrawRectangle(pDC,Startx,Starty,Startx+Width,Starty+15*LineDataList.GetCount()*2);
		for(i=0;i<LineDataList.GetCount();i++)
		{
			pos = LineDataList.FindIndex(i);
			pDC->ExtTextOut(Startx+2,Starty+15*i*2+1,ETO_OPAQUE,NULL,LineDataList.GetAt(pos)->LegendName,NULL);
			if(WithDot)
			DrawPoint(pDC,
				Startx+7,Starty+15*i*2+15+7,
				LineDataList.GetAt(pos)->ePointType,
				5,
				LineDataList.GetAt(pos)->LineSize,
				LineDataList.GetAt(pos)->LineColor,
				LineDataList.GetAt(pos)->PointColor);
			else
			DrawRectangle(pDC,
			Startx+2,Starty+15*i*2+15+2,Startx+Width-2,Starty+15*(i+1)*2-2,
			LineDataList.GetAt(pos)->LineSize,
			LineDataList.GetAt(pos)->LineColor,
			LineDataList.GetAt(pos)->PointColor);
		}
		break;
	case BOTTOM:
		DrawRectangle(pDC,Startx,Starty,Startx+Width,Starty+15*LineDataList.GetCount()*2);
		for(i=0;i<LineDataList.GetCount();i++)
		{
			pos = LineDataList.FindIndex(i);
			if(WithDot)
			DrawPoint(pDC,
				Startx+7,Starty+15*i*2+7,
				LineDataList.GetAt(pos)->ePointType,
				5,
				LineDataList.GetAt(pos)->LineSize,
				LineDataList.GetAt(pos)->LineColor,
				LineDataList.GetAt(pos)->PointColor);
			else
			DrawRectangle(pDC,
			Startx+2,Starty+15*i*2+2,Startx+Width-2,Starty+15*i*2+15-2,
			LineDataList.GetAt(pos)->LineSize,
			LineDataList.GetAt(pos)->LineColor,
			LineDataList.GetAt(pos)->PointColor);
			pDC->ExtTextOut(Startx+2,Starty+15*i*2+15+1,ETO_OPAQUE,NULL,LineDataList.GetAt(pos)->LegendName,NULL);
		}
		break;
	case LEFT:
		break;
	case RIGHT:
		break;
	case ON:
		break;
	case NONE:
		break;
	}
	pDC->SelectObject(pOldFont);
}
void CLine::DrawContent(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy)
{
//	int Height = ((int)(m_Legend.GetAt(i-1).Value+0.5)-YMin)*yCoorDeta/yDeta;
	POSITION pos;
	for(int i=0;i<LineDataList.GetCount();i++)
	{
		double x1,y1,x2,y2;
		pos = LineDataList.FindIndex(i);
		if(LineDataList.GetAt(pos)->structDataArray.GetSize())
		{
			x1 = LineDataList.GetAt(pos)->structDataArray[0].XData;
			y1 = LineDataList.GetAt(pos)->structDataArray[0].YData;
		}
		for(int j=1;j<LineDataList.GetAt(pos)->structDataArray.GetSize();j++)
		{
			x2 = LineDataList.GetAt(pos)->structDataArray[j].XData;
			y2 = LineDataList.GetAt(pos)->structDataArray[j].YData;
			POINT p1,p2;
			p1.x = LeftTopx+(int)((x1-XMin)*xCoorDeta/xDeta+0.5);
			p1.y = RightBottomy-(int)((y1-YMin)*yCoorDeta/yDeta+0.5);
			p2.x = LeftTopx+(int)((x2-XMin)*xCoorDeta/xDeta+0.5);
			p2.y = RightBottomy-(int)((y2-YMin)*yCoorDeta/yDeta+0.5);
			x1 = x2;
			y1 = y2;
			
			DrawLine(pDC,p1,p2,LineDataList.GetAt(pos)->LineSize,LineDataList.GetAt(pos)->LineColor);
			if(WithDot)
			{
			if(j==1)
				DrawPoint(pDC,p1.x,p1.y,
					LineDataList.GetAt(pos)->ePointType,
					DotSize,
					LineDataList.GetAt(pos)->LineSize,
					LineDataList.GetAt(pos)->LineColor,
					LineDataList.GetAt(pos)->PointColor);
			DrawPoint(pDC,p2.x,p2.y,
				LineDataList.GetAt(pos)->ePointType,
				DotSize,
				LineDataList.GetAt(pos)->LineSize,
				LineDataList.GetAt(pos)->LineColor,
				LineDataList.GetAt(pos)->PointColor);
			}
		}
	}
}
void CLine::DrawCoordinate(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy,BOOL WithDash)
{
	int nDeta = 5;
	int nCount = (YMax - YMin)/nDeta ;
	int nCoorDeta = (RightBottomy - LeftTopy)/nCount;
	yCoorDeta = nCoorDeta;
	while(nCoorDeta < 10 )
	{
		nDeta += 5;
		yDeta = nDeta;
		nCount = (YMax - YMin)/nDeta ;
		nCoorDeta = (RightBottomy - LeftTopy)/nCount;
		yCoorDeta = nCoorDeta;
	}
	DrawLine(pDC,LeftTopx,LeftTopy,LeftTopx,RightBottomy);
	DrawLine(pDC,LeftTopx,RightBottomy,RightBottomx,RightBottomy);
	if(WithDash)
	{
		DrawLine(pDC,RightBottomx,RightBottomy,RightBottomx,LeftTopy);
		DrawLine(pDC,RightBottomx,LeftTopy,LeftTopx,LeftTopy);
	}
	CString CoordinateValue;
	CoordinateValue.Format(_T("%3d"),YMin);
	DrawYCoordinateValue(pDC,LeftTopx-18,RightBottomy-5,CoordinateValue);
	for(int i=1;i<=nCount;i++)
	{
		if(WithDash)
			DrawDashLine(pDC,LeftTopx,RightBottomy-nCoorDeta*i,RightBottomx,RightBottomy-nCoorDeta*i);
		DrawLine(pDC,LeftTopx,RightBottomy-nCoorDeta*i,LeftTopx+5,RightBottomy-nCoorDeta*i);
		CoordinateValue.Format(_T("%3d"),YMin+nDeta*i);
		DrawYCoordinateValue(pDC,LeftTopx-18,RightBottomy-nCoorDeta*i-5,CoordinateValue);
	}

	nDeta = 5;
	nCount = (XMax - XMin)/nDeta;
	nCoorDeta = (RightBottomx-LeftTopx)/nCount;
	xCoorDeta = nCoorDeta;
	while(nCoorDeta < 10)
	{
		nDeta +=5;
		xDeta = nDeta;
		nCount = (XMax - XMin)/nDeta;
		nCoorDeta = (RightBottomx-LeftTopx)/nCount;
		xCoorDeta = nCoorDeta;
	}

	CoordinateValue.Format(_T("%d"),XMin);
	DrawXCoordinateValue(pDC,LeftTopx-7,RightBottomy+2,CoordinateValue,CBaseGr::VER,RGB(0,0,255));
	for(int j=1;j<=nCount;j++)
	{
		if(WithDash)
			DrawDashLine(pDC,LeftTopx+nCoorDeta*j,RightBottomy,LeftTopx+nCoorDeta*j,LeftTopy);
		DrawLine(pDC,LeftTopx+nCoorDeta*j,RightBottomy,LeftTopx+nCoorDeta*j,RightBottomy-5);
		CoordinateValue.Format(_T("%d"),XMin+nDeta*j);
		DrawXCoordinateValue(pDC,LeftTopx-7+nCoorDeta*j,RightBottomy+2,CoordinateValue,CBaseGr::VER,RGB(0,0,255));
	}

	DrawXName(pDC,RightBottomx-12*XName.GetLength(),RightBottomy+15,XName);
	DrawYName(pDC,LeftTopx-35,LeftTopy+12*YName.GetLength(),YName);
	DrawTitle(pDC,LeftTopx,LeftTopy,RightBottomx,RightBottomy,TitleMode);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合在线视频| 日韩理论片在线| 久久精品国产77777蜜臀| 欧美精品自拍偷拍| 久久国产尿小便嘘嘘尿| 精品处破学生在线二十三| 国产二区国产一区在线观看| 国产精品天干天干在线综合| 色呦呦日韩精品| 视频在线观看一区二区三区| 日韩欧美区一区二| 欧美日韩一区二区三区四区五区| 亚洲成人精品一区二区| 欧美成人国产一区二区| 国产成人综合视频| 亚洲精品乱码久久久久久黑人 | 久久久久9999亚洲精品| jlzzjlzz欧美大全| 丝袜美腿成人在线| 国产视频一区在线观看| 色狠狠桃花综合| 韩国欧美国产一区| 一区二区三区四区在线免费观看| 在线播放国产精品二区一二区四区 | 欧美日韩一区在线观看| 久久精品国产精品青草| 亚洲私人影院在线观看| 欧美一级夜夜爽| 国产99精品国产| 日日夜夜精品视频免费| 国产精品视频线看| 777午夜精品免费视频| 成人午夜碰碰视频| 日韩国产欧美在线播放| 国产精品久久毛片av大全日韩| 欧美色成人综合| 岛国av在线一区| 毛片一区二区三区| 亚洲精品视频一区| 久久亚洲精品国产精品紫薇| 在线亚洲欧美专区二区| 精品一区二区三区免费播放| 亚洲资源在线观看| 欧美激情一区在线观看| 日韩精品一区在线| 欧美性videosxxxxx| 成人av资源下载| 久久不见久久见中文字幕免费| 亚洲欧美一区二区三区国产精品| 精品噜噜噜噜久久久久久久久试看 | 欧美视频一区在线观看| 国产99一区视频免费| 久久se精品一区精品二区| 亚洲电影视频在线| 18涩涩午夜精品.www| 久久久美女毛片| 日韩欧美精品在线| 欧美精品久久天天躁| 欧亚洲嫩模精品一区三区| 成年人午夜久久久| 国产成人aaaa| 国产一区二区网址| 久久99精品国产麻豆婷婷| 亚洲福利视频三区| 亚洲成人综合在线| 洋洋av久久久久久久一区| 亚洲欧美电影院| 亚洲天天做日日做天天谢日日欢 | 国产91色综合久久免费分享| 老汉av免费一区二区三区| 日韩成人av影视| 五月综合激情网| 亚洲成人www| 午夜欧美一区二区三区在线播放| 亚洲一区二区高清| 同产精品九九九| 免费在线观看精品| 精品综合免费视频观看| 精品一区二区三区香蕉蜜桃| 国内外成人在线| 国产电影一区二区三区| 大尺度一区二区| www.成人网.com| 在线精品视频免费观看| 在线不卡中文字幕播放| 欧美精品久久99久久在免费线 | 精品国产成人在线影院| 26uuu精品一区二区| 久久精品视频一区二区三区| 国产女主播一区| 亚洲人妖av一区二区| 一级做a爱片久久| 午夜激情综合网| 国产在线国偷精品免费看| 成人在线综合网| 色婷婷综合久色| 9191成人精品久久| 久久久亚洲综合| 亚洲精品乱码久久久久久日本蜜臀| 亚洲a一区二区| 精品一区二区三区的国产在线播放| 国产精品亚洲专一区二区三区| 成人av免费观看| 欧美三级视频在线观看| 日韩午夜精品电影| 中文一区在线播放| 五月天网站亚洲| 国产一区二区久久| 91社区在线播放| 日韩欧美激情在线| 亚洲三级电影全部在线观看高清| 婷婷开心激情综合| 成人免费视频视频| 51精品秘密在线观看| 中文字幕不卡在线播放| 天堂av在线一区| 99这里都是精品| 欧美一区二区三区在线| 国产精品国产自产拍高清av| 日韩精品一级中文字幕精品视频免费观看| 国产精品1区二区.| 欧美在线色视频| 久久精品理论片| 色老汉av一区二区三区| 欧美精品视频www在线观看| 国产欧美日韩精品在线| 亚洲成a人在线观看| 国产精品亚洲成人| 91麻豆精品国产综合久久久久久| 久久久久久综合| 日韩电影一二三区| av一区二区三区在线| 精品三级在线看| 亚洲自拍与偷拍| aaa亚洲精品| 久久久久久久久久电影| 日本视频免费一区| 色8久久精品久久久久久蜜 | 日韩免费观看2025年上映的电影| 国产精品久久夜| 国产在线精品一区在线观看麻豆| 欧美高清视频www夜色资源网| 国产精品第四页| 国产高清亚洲一区| 欧美不卡123| 日韩av电影天堂| 欧美系列日韩一区| 亚洲视频综合在线| www.亚洲人| 国产欧美日韩另类视频免费观看| 久久成人羞羞网站| 欧美va亚洲va在线观看蝴蝶网| 亚洲第一久久影院| 日本国产一区二区| 亚洲免费av网站| 99精品在线免费| 国产精品久久久久一区| 成熟亚洲日本毛茸茸凸凹| 欧美精品一区二区三区高清aⅴ| 日韩综合一区二区| 亚洲va在线va天堂| 欧美日韩欧美一区二区| 午夜精品久久久久久久久久久| 色噜噜狠狠一区二区三区果冻| 亚洲人成影院在线观看| 一本久久综合亚洲鲁鲁五月天| 国产精品传媒入口麻豆| gogo大胆日本视频一区| 国产精品久久毛片| 91网站在线播放| 亚洲免费高清视频在线| 日本丰满少妇一区二区三区| 亚洲一级二级在线| 欧美日韩激情在线| 日韩精品久久久久久| 91精品国产综合久久小美女| 美女一区二区三区| 久久只精品国产| 不卡高清视频专区| 一区二区三区小说| 欧美高清视频一二三区| 久久精品国产99久久6| 久久精品一区八戒影视| 99久久精品国产导航| 亚洲美女淫视频| 欧美日本国产视频| 精品亚洲porn| 国产精品不卡在线| 欧美亚洲动漫精品| 免费高清不卡av| 日本一区二区综合亚洲| 一本到高清视频免费精品| 午夜精品久久久久久久久久久| 精品久久国产老人久久综合| 国产91丝袜在线观看| 亚洲五码中文字幕| 久久免费视频色| 最新日韩av在线| 欧美日韩国产成人在线91| 经典三级一区二区|