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

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

?? line.cpp

?? WinCE開發(fā)技巧與實例的配套源碼
?? 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);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费观看视频在线| 久久天堂av综合合色蜜桃网| 亚洲欧洲av在线| 成人晚上爱看视频| 国产精品精品国产色婷婷| 大胆欧美人体老妇| 国产精品初高中害羞小美女文| 国产xxx精品视频大全| 日韩理论电影院| 欧美色图第一页| 免费的成人av| 国产亚洲精品7777| 99久久婷婷国产精品综合| 亚洲精品v日韩精品| 欧美精品色一区二区三区| 久久av资源站| 国产精品毛片久久久久久| 91九色最新地址| 久久成人免费电影| 国产精品天美传媒| 欧美日本国产视频| 国产福利精品一区二区| 亚洲欧美成aⅴ人在线观看 | 国产一区二区美女| 国产精品久久久久久久久久免费看| 成人精品鲁一区一区二区| 国产精品久久久久婷婷二区次| 91麻豆自制传媒国产之光| 视频一区免费在线观看| 国产亚洲一本大道中文在线| 91在线视频官网| 日本在线不卡一区| 中文字幕一区二区三区不卡在线 | 欧美精品一级二级| 丰满放荡岳乱妇91ww| 亚洲一区二区三区四区在线| 精品欧美黑人一区二区三区| 色呦呦网站一区| 国内一区二区视频| 亚洲国产成人av好男人在线观看| 久久综合给合久久狠狠狠97色69| 91看片淫黄大片一级在线观看| 看片网站欧美日韩| 一区二区在线观看视频| 国产性做久久久久久| 欧美精品高清视频| 99久久99久久精品免费观看| 久久福利资源站| 性欧美疯狂xxxxbbbb| 中文字幕av资源一区| 欧美国产激情二区三区| 欧美电影一区二区三区| 色哟哟国产精品免费观看| 国产在线一区二区| 日韩国产欧美三级| 亚洲综合男人的天堂| 国产精品剧情在线亚洲| 2019国产精品| 日韩精品在线一区| 欧美日韩精品欧美日韩精品一| 91视频免费看| 成人国产精品免费观看动漫| 国产在线一区二区| 国内外精品视频| 精品在线播放免费| 久久99九九99精品| 青椒成人免费视频| 全部av―极品视觉盛宴亚洲| 亚洲一区二区中文在线| 伊人婷婷欧美激情| 亚洲一区在线观看免费 | 欧美亚洲高清一区| 色综合一个色综合| 99re这里只有精品视频首页| 国产福利不卡视频| 成人黄色在线视频| 成人av影视在线观看| 国产a精品视频| 成人午夜av电影| 成人黄色小视频在线观看| 国产不卡视频在线播放| 风间由美性色一区二区三区| 成人精品高清在线| 97精品超碰一区二区三区| 91视频一区二区三区| 日本精品免费观看高清观看| 91激情在线视频| 欧美久久久久免费| 欧美日韩亚洲另类| 欧美日韩一区久久| 91麻豆精品国产综合久久久久久| 精品视频1区2区| 欧美一级欧美一级在线播放| 日韩美一区二区三区| 久久精品亚洲麻豆av一区二区| 国产欧美一区二区三区网站| 国产精品久久三区| 亚洲成人久久影院| 色综合久久久久网| 欧美午夜理伦三级在线观看| 欧美欧美午夜aⅴ在线观看| 欧美精品v日韩精品v韩国精品v| 欧美一二区视频| 国产拍揄自揄精品视频麻豆| 国产精品欧美久久久久无广告 | 26uuu久久天堂性欧美| 久久精品男人天堂av| 亚洲美女视频在线| 蜜臀av一级做a爰片久久| 国产一区二区免费看| 色综合久久88色综合天天6| 欧美高清视频在线高清观看mv色露露十八 | 欧美一区二视频| 国产亚洲欧美中文| 亚洲一区二区三区在线播放| 捆绑调教一区二区三区| 99久久精品一区二区| 欧美色网一区二区| 国产亚洲一区二区三区四区| 亚洲亚洲精品在线观看| 国产一区二区不卡在线| 色成年激情久久综合| 精品国产1区二区| 一区二区三区免费在线观看| 久久国产精品露脸对白| 日本高清不卡视频| 久久久久97国产精华液好用吗 | 五月天亚洲精品| 国产91丝袜在线播放九色| 欧美日韩亚洲高清一区二区| 国产欧美视频在线观看| 三级在线观看一区二区| 不卡视频一二三四| 日韩视频一区二区| 亚洲午夜精品久久久久久久久| 国内精品在线播放| 欧美日韩电影在线播放| 中文字幕在线视频一区| 狠狠色狠狠色综合系列| 欧美亚日韩国产aⅴ精品中极品| 久久精品免费在线观看| 蜜臀91精品一区二区三区| 日本韩国欧美三级| 中文字幕制服丝袜成人av| 国产一区二区三区不卡在线观看| 91精品国产综合久久精品性色| 国产精品剧情在线亚洲| 国产激情一区二区三区四区| 欧美一二三区精品| 视频精品一区二区| 欧美日韩国产高清一区二区| 亚洲人亚洲人成电影网站色| 国产成人综合在线观看| 精品美女在线播放| 男男gaygay亚洲| 欧美另类变人与禽xxxxx| 亚洲黄色尤物视频| 色综合久久久久综合99| 国产精品青草综合久久久久99| 国产精品一区二区无线| 日韩美一区二区三区| 视频在线观看一区二区三区| 欧美综合一区二区| 一区二区在线观看免费视频播放| 99精品欧美一区二区三区小说| 欧美国产日韩一二三区| 国产成人一区二区精品非洲| 久久一留热品黄| 国产精品一区免费在线观看| 久久久久久亚洲综合影院红桃 | 日韩免费看的电影| 激情六月婷婷综合| 久久婷婷国产综合国色天香| 国产精品一区二区不卡| 欧美激情一区二区三区蜜桃视频| 国产激情视频一区二区在线观看 | 成人v精品蜜桃久久一区| 国产精品女同一区二区三区| 大胆欧美人体老妇| 亚洲免费大片在线观看| 欧洲色大大久久| 午夜精品福利久久久| 欧美一区二区三区四区在线观看| 视频一区二区三区在线| 精品国产免费一区二区三区四区| 激情五月婷婷综合| 国产精品―色哟哟| 色综合色狠狠天天综合色| 亚洲高清免费一级二级三级| 欧美一级片在线观看| 国产999精品久久久久久绿帽| 国产精品素人视频| 欧美在线综合视频| 美女一区二区三区在线观看| 国产亚洲欧美色| 色香色香欲天天天影视综合网| 亚洲国产日日夜夜| 欧美videos中文字幕| 菠萝蜜视频在线观看一区| 一区二区高清视频在线观看|