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

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

?? cdrawstripchart.cpp

?? 一個wince下畫趨勢曲線的控件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// CDrawStripChart.cpp: implementation of the CDrawStripChart class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CDrawStripChart.h"

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

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

CDrawStripChart::CDrawStripChart()
{
	m_Orientation=1;
	m_ArrayXYValue.SetSize(0);
	m_arrayLinearGauge.SetSize(0);
	m_ArrayOutValue.SetSize(0);
	m_offTime=60;
	m_offValue=2000;
	m_Point.x=0;
	m_Point.y=0;
	m_ClickPoint.x=0;
	m_ClickPoint.y=0;
	m_iDrawCursorFlag=0;
	m_clickFlag=0;

	m_LastDt.SetDateTime(1500,1,1,0,0,0);
	m_curDt.SetDateTime(1500,1,1,0,0,0);
}

CDrawStripChart::~CDrawStripChart()
{

}

void CDrawStripChart::SetLinearGaugeNum(int iNum)//設置X標尺的數量
{
	m_arrayLinearGauge.SetSize(0);
	m_arrayLinearGauge.SetSize(iNum);

	for(int i = 0;i < m_arrayLinearGauge.GetSize();i++)
	{
		SetLinearGaugeValueCount(i,1);
		SetRulerParm(i,200,0,10,1);
		SetValueParm(i,0,RGB(255,255,0),0);
	}
}

void CDrawStripChart::SetRulerParm(int index,long iMax,long iMin,long imajortics,long iminortics)//設置index的X標尺的參數
{
	if(index<0) return;
	if(index>m_arrayLinearGauge.GetSize()-1) return;
	
	m_arrayLinearGauge[index].SetRuler(iMax,iMin,imajortics,iminortics,RGB(0,0,0),RGB(0,0,0),RGB(0,0,0));
}

void CDrawStripChart::SetLinearGaugeValueCount(int index,int iCount)//設置index的X標尺的值的數量=游標的數量
{
	if(iCount<1) return;
	
	m_arrayLinearGauge[index].SetValueCount(iCount);
}

void CDrawStripChart::SetValueParm(int index,int ValueIndex,COLORREF valueColor,float value)//設置index的X標尺ValueIndex的參數
{
	if(index<0) return;
	if(index>m_arrayLinearGauge.GetSize()-1) return;
	
	m_arrayLinearGauge[index].SetValueFrame(ValueIndex,valueColor,valueColor,value);
}

void CDrawStripChart::SetLGParm(int index,int ValueIndex,COLORREF valueColor)//設置index的X標尺ValueIndex的參數
{
	if(index<0) return;
	if(index>m_arrayLinearGauge.GetSize()-1) return;
	
	m_arrayLinearGauge[index].SetFrame(ValueIndex,valueColor,valueColor);
}

void CDrawStripChart::SetLGValue(int index,int ValueIndex,long value)//設置index的X標尺ValueIndex的參數
{
	if(index<0) return;
	if(index>m_arrayLinearGauge.GetSize()-1) return;
	
	m_arrayLinearGauge[index].SetFrameValue(ValueIndex,value);
}

void CDrawStripChart::SetStyle(int Style)//設置曲線控件的方向:縱向、橫向
{
	m_Orientation = Style;
}

int CDrawStripChart::GetStyle()
{
	return m_Orientation;
}

void CDrawStripChart::SetRect(RECT rc,COLORREF BkColor)//設置曲線控件的大小
{
	m_CtlRect = rc;
	m_rect = rc;

	if(m_Orientation==0)
	{
		m_rect.left =m_rect.left +20;
		m_rect.right =m_rect.right -20;
	}
	else if(m_Orientation==1)
	{
		m_rect.top =m_rect.top +5;
		m_rect.bottom =m_rect.bottom -15;
		//m_rect.left =m_rect.left +20;
		//m_rect.right =m_rect.right -10;
	}

	m_BkColor = BkColor;
}

void CDrawStripChart::DrawRect(HDC hDC)//畫曲線控件的
{
	CRect rect=m_CtlRect;
	//rect.DeflateRect(1,1); 
	//HPEN hPen = CreatePen(PS_SOLID,1,m_BkColor);
	//HBRUSH hBrush = CreateSolidBrush(m_BkColor);
	HBRUSH hBrush = CreateSolidBrush(m_BkColor);
	//SelectObject(hDC,hPen);
	//SelectObject (hDC, hBrush) ;
	//Rectangle(hDC, rect.left, rect.top, rect.right, rect.bottom);
	FillRect (hDC, &rect, hBrush) ;
	/*MoveToEx(hDC,rect.left,rect.top,NULL);
	LineTo(hDC,rect.right,rect.top);
	LineTo(hDC,rect.right,rect.bottom);
	LineTo(hDC,rect.left,rect.bottom);
	LineTo(hDC,rect.left,rect.top);*/

	DeleteObject(hBrush);
	//DeleteObject (SelectObject (hDC, GetStockObject (BLACK_PEN)));
}

void CDrawStripChart::SetLinearGaugeVisibled(int index,int iFlag)
{
	if(index<0) return;
	if(index>m_arrayLinearGauge.GetSize()) return;
	
	m_arrayLinearGauge[index].SetVisibled(iFlag);
}

long  CDrawStripChart::GetLinearGaugeVisibled(int index)
{
	if(index<0) return -1;
	if(index>m_arrayLinearGauge.GetSize()) return -1;
	
	return m_arrayLinearGauge[index].GetVisibled();
}

void CDrawStripChart::DrawLGRect(HDC hDC)//畫曲線控件的X標尺
{
	if(m_arrayLinearGauge.GetSize()<=0)		return;
	
	RECT rc;
	rc=m_rect;
	
	int width=0;
	int i=0;

	CString strLinearGaugecaption;

	if(m_Orientation==0)//橫向
	{
		//rc.left = rc.left +20;
		//rc.right = rc.right -20;
		//rc.bottom=rc.top+30*m_arrayLinearGauge.GetSize();
		rc.left =m_GridRect.left;
		rc.right =m_GridRect.right;

		rc.bottom=rc.top+30*m_arrayLinearGauge.GetSize();

		for(int i = 0;i < m_arrayLinearGauge.GetSize();i++)
		{
				if(m_arrayLinearGauge[i].GetVisibled()==0)
				{
					rc.bottom = rc.top;
				}
				else
				{
					rc.bottom = rc.top + 30;
				}
				
				
				m_arrayLinearGauge[i].SetRect(rc);
				//m_arrayLinearGauge[i].SetStyle(1,1,4);//m_Orientation
				m_arrayLinearGauge[i].SetStyle(1,m_Orientation,m_rulerStyle);

				m_arrayLinearGauge[i].SetRect(rc);
				m_arrayLinearGauge[i].SetFrame(RGB(0,0,0),RGB(255,255,255));
				m_arrayLinearGauge[i].Draw(hDC);

				rc.top = rc.bottom;
		}
	}
	else if(m_Orientation==1)//縱向
	{
		rc.top =m_GridRect.top;
		rc.bottom =m_GridRect.bottom;
		for(i = 0;i < m_arrayLinearGauge.GetSize();i++)
		{
			if(m_arrayLinearGauge[i].GetVisibled()==1)
			{
				width=width+30;
			}
		}

		rc.left=rc.right-width-5;
		m_LGRect=rc;
		for(i = 0;i < m_arrayLinearGauge.GetSize();i++)
		{
			if(m_arrayLinearGauge[i].GetVisibled()==0)
			{
				rc.right = rc.left ;
			}
			else
			{
				rc.right = rc.left + 30;
			}

			//SetBkMode(hDC,TRANSPARENT);
			//strLinearGaugecaption.Format(_T("%d"),i); 
			//DrawText(hDC,strLinearGaugecaption,strLinearGaugecaption.GetLength(),CRect(rc.left,rc.top-25,rc.right,rc.top),DT_CENTER | DT_SINGLELINE | DT_VCENTER);

			m_arrayLinearGauge[i].SetRect(rc);
			m_arrayLinearGauge[i].SetStyle(1,m_Orientation,m_rulerStyle);
			//m_arrayLinearGauge[i].SetRect(rc);
			m_arrayLinearGauge[i].SetFrame(RGB(0,0,0),RGB(255,255,255));
			m_arrayLinearGauge[i].Draw(hDC);
			
			CRect UpRect(rc.left,rc.top,rc.right,(rc.bottom-rc.top)/2);
			CRect DownRect(rc.left,(rc.bottom-rc.top)/2,rc.right,rc.bottom);

			if(PtInRect(&UpRect,m_ClickPoint)!=0 && m_clickFlag==1)
			{
				int Max=m_arrayLinearGauge[i].GetMax();
				int Min=m_arrayLinearGauge[i].GetMin();

				 if(m_ClickPoint.y <= m_Point.y)
				 {
					Max=Max+10;
				 }
				 else
				 {
					Max=Max-10;
				 }
				 m_arrayLinearGauge[i].SetMaxMin(Max,Min);
				 m_ArrayXYValue[i].m_iYMax = Max;
				 m_ArrayXYValue[i].m_iYMin = Min;
			}
			else if(PtInRect(&DownRect,m_ClickPoint)!=0 && m_clickFlag==1)
			{
				 int Max=m_arrayLinearGauge[i].GetMax();
				 int Min=m_arrayLinearGauge[i].GetMin();

				 if(m_ClickPoint.y <= m_Point.y)
				 {
					 Min=Min+10;
				 }
				 else
				 {
					Min=Min-10;
				 }
				 m_arrayLinearGauge[i].SetMaxMin(Max,Min);
				 m_ArrayXYValue[i].m_iYMax = Max;
				 m_ArrayXYValue[i].m_iYMin = Min;
			}
			/*if(PtInRect(&rc,m_ClickPoint)!=0 && m_clickFlag==1)
			{
				int Max=m_arrayLinearGauge[i].GetMax();
				int Min=m_arrayLinearGauge[i].GetMin();

				 if(m_ClickPoint.y <= m_Point.y)
				 {
					//Max=Max+(m_Point.y - m_ClickPoint.y);
					 Max=Max+10;
				 }
				 else
				 {
					//Min=Min-(m_ClickPoint.y - m_Point.y);
					Min=Min-10;
				 }
				 m_arrayLinearGauge[i].SetMaxMin(Max,Min);
			}*/

			rc.left = rc.right;
		}

		/*rc.left=rc.right-30*m_arrayLinearGauge.GetSize();

		for(int i = 0;i < m_arrayLinearGauge.GetSize();i++)
		{
			if(m_arrayLinearGauge[i].GetVisibled()==0)
			{
				rc.right = rc.left ;
			}
			else
			{
				rc.right = rc.left + 30;
			}

			m_arrayLinearGauge[i].SetRect(rc);
			m_arrayLinearGauge[i].SetStyle(1,m_Orientation,m_rulerStyle);

			m_arrayLinearGauge[i].SetRect(rc);
			m_arrayLinearGauge[i].SetFrame(RGB(0,0,0),RGB(255,255,255));
			m_arrayLinearGauge[i].Draw(hDC);

			rc.left = rc.right;
		}*/
	}
}

void CDrawStripChart::DrawGridRect(HDC hDC)//畫曲線控件的
{
	m_GridRect=m_rect;

	m_GridRect.left=m_GridRect.left+5;
	m_GridRect.top =m_GridRect.top+5;
	m_GridRect.right =m_GridRect.right-5;
	m_GridRect.bottom =m_GridRect.bottom-5;
	
	if(m_Orientation==0)
	{
		m_GridRect.top=m_GridRect.top+30*m_arrayLinearGauge.GetSize();
	}
	if(m_Orientation==1)
	{
		m_GridRect.right = m_GridRect.right-30*m_arrayLinearGauge.GetSize();
	}

	//HPEN hPen = CreatePen(PS_SOLID,1,RGB(176,176,240));
	//HBRUSH hBrush = CreateSolidBrush(RGB(0,70,141));
	HBRUSH hBrush = CreateSolidBrush(m_GridBkColor);
	//SelectObject(hDC,hPen);
	FillRect (hDC, &m_GridRect, hBrush) ;
	DeleteObject(hBrush);
	//DeleteObject (SelectObject (hDC, GetStockObject (BLACK_PEN))) ;

	if(PtInRect(&m_GridRect,m_ClickPoint)!=0 && m_clickFlag==1)
	{
		if(m_ClickPoint.y < m_Point.y)
		{
			//Max=Max+(m_Point.y - m_ClickPoint.y);
			m_XSpan=m_XSpan+10;
		}

		if(m_ClickPoint.y > m_Point.y)
		{
			//Min=Min-(m_ClickPoint.y - m_Point.y);
			m_XSpan=m_XSpan-10;
		}
	}

	/*CRect LeftRect(XRect.left,XRect.top,XRect.right/2,XRect.bottom);
	CRect RightRect(XRect.right/2,XRect.top,XRect.right,XRect.bottom);
	if(PtInRect(&LeftRect,m_ClickPoint)!=0 && m_clickFlag==1)
	{
		 
	}
	else if(PtInRect(&RightRect,m_ClickPoint)!=0 && m_clickFlag==1)
	{
		 
	}*/
}

void CDrawStripChart::SetX(int iXmajortics,int iXminortics,COLORREF XmajorticsColor,COLORREF XminorticsColor,int XSpan)
{
	m_iXmajortics=iXmajortics;
	m_iXminortics=iXminortics;
	m_XmajorticsColor=XmajorticsColor;
	m_XminorticsColor=XminorticsColor;
	m_XSpan=XSpan;
}

void CDrawStripChart::DrawX(HDC hDC,long off)
{
	CRect rect= m_GridRect;
	HPEN hPen;
	int i=0;
	int y=0;
	int y1=0;
	int y2=0;
	int n=0;
	int x=0;
	int x1=0;
	int x2=0;
	CString str;

	COleDateTimeSpan dateTimeSpan;
	COleDateTime datetime=COleDateTime::GetCurrentTime();;
	
	switch(m_Orientation)//曲線方向
	{
	case 0:
		n = m_iYmajortics * m_iYminortics;
		x1 = rect.left + 1;
		x2 = rect.right - 2;
		for (i = 0; i <= n; i++)
		{
			y = rect.top + i * rect.Height() / n;
			
			if ((i % m_iYminortics) == 0)
			{
				/*hPen = CreatePen(PS_SOLID,1,m_YmajorticsColor);
				SelectObject(hDC,hPen);

				CString str;
				float iPointTime=0;
				float fValue=0;

				long lSize=m_ArrayXYValue.GetSize();
				if(lSize <= 0 ) return;

				iPointTime = rect.right - x;
				iPointTime = iPointTime / (rect.right - rect.left) * m_XSpan;
				
				COleDateTimeSpan dTSpan;
				dTSpan.SetDateTimeSpan(0,0,0,iPointTime);
				COleDateTime curDt = m_LastDt - dTSpan;

				for(int index=0;index<1;index++)
				{
					for(long l=0;l<m_ArrayXYValue[index].m_ArrayValue.GetSize();l++)
					{
						if(m_ArrayXYValue[index].m_ArrayValue[l].m_DataTime==curDt)
						{
							fValue=m_ArrayXYValue[0].m_ArrayValue[l].m_value;
							break;
						}
						else
						{
							fValue=0;
						}
					}
				}
				str.Format(_T("%02d:%02d:%02d"),curDt.GetHour(),curDt.GetMinute(),curDt.GetSecond());

				if(i!=0)
				{
					SetBkMode(hDC,TRANSPARENT);
					SetTextColor(hDC,RGB(255,255,255));
					DrawText(hDC,str,str.GetLength(),CRect(x,y2,x+200,y2+200),DT_LEFT | DT_TOP);
				}*/
			}
			else
			{
				hPen = CreatePen(PS_SOLID,1,m_YminorticsColor);
				SelectObject(hDC,hPen);
			}

			MoveToEx(hDC,x1, y,NULL);
			LineTo(hDC,x2, y);	
			DeleteObject (SelectObject (hDC, GetStockObject (BLACK_PEN))) ;
		}

		break;
	case 1:

		n = m_iXmajortics * m_iXminortics;
		y1 = rect.top + 1;
		y2 = rect.bottom - 2;
		for (i = 0; i <= n; i++)
		//for (i = 1; i < 3; i++)
		{
			//x = rect.left + i * rect.Width() / n;
			x = rect.right - i * rect.Width() / n;
			
			if ((i % m_iXminortics) == 0)
			{
				hPen = CreatePen(PS_SOLID,1,m_XmajorticsColor);
				SelectObject(hDC,hPen);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
8x8x8国产精品| 午夜欧美2019年伦理| 三级在线观看一区二区| 韩国av一区二区三区在线观看| 一本色道久久加勒比精品| 久久一二三国产| 五月婷婷另类国产| 日本电影欧美片| 中文字幕在线一区免费| 精品一区二区精品| 91精品视频网| 亚洲成av人片一区二区三区| 成人精品免费看| 久久久青草青青国产亚洲免观| 免费欧美高清视频| 精品视频一区二区不卡| 伊人开心综合网| 91麻豆精品一区二区三区| 中文字幕av一区二区三区免费看| 国产一本一道久久香蕉| 日韩久久久精品| 毛片一区二区三区| 欧美一级午夜免费电影| 男人的j进女人的j一区| 欧美精品 国产精品| 一个色妞综合视频在线观看| 99国产精品一区| 亚洲欧洲国产专区| 一本一道波多野结衣一区二区| 中文字幕日本不卡| 99re这里只有精品首页| 最新国产精品久久精品| 99久久精品免费| 一区二区三区美女视频| 在线观看一区日韩| 石原莉奈在线亚洲三区| 日韩午夜精品视频| 国模冰冰炮一区二区| 欧美韩国一区二区| 99国产精品99久久久久久| 亚洲免费在线视频| 欧美猛男超大videosgay| 五月综合激情网| 欧美va在线播放| 成人一级视频在线观看| 亚洲123区在线观看| 欧美精品123区| 国产一区二区在线电影| 国产欧美一区二区在线| 91免费小视频| 日本va欧美va精品发布| 日韩精品专区在线影院观看| 粉嫩久久99精品久久久久久夜| 亚洲同性gay激情无套| 欧美日韩一区精品| 激情图区综合网| 国产精品视频免费| 欧洲精品一区二区三区在线观看| 三级亚洲高清视频| 精品美女被调教视频大全网站| 国产成人免费在线| 亚洲夂夂婷婷色拍ww47| 日韩精品一区二区三区蜜臀| 成人激情综合网站| 日本三级韩国三级欧美三级| 国产午夜精品一区二区三区视频 | 色婷婷一区二区三区四区| 亚洲v日本v欧美v久久精品| 日韩免费观看2025年上映的电影| 国产不卡免费视频| 日韩成人av影视| 国产精品蜜臀在线观看| 91精品国产品国语在线不卡| 成人免费视频一区| 五月婷婷久久丁香| 中文字幕一区二区三区不卡在线| 日韩一二三区视频| 色丁香久综合在线久综合在线观看| 蜜桃av噜噜一区二区三区小说| 国产精品传媒在线| 精品久久99ma| 欧美日韩国产美女| 91偷拍与自偷拍精品| 免费成人在线观看| 亚洲男人天堂av网| 国产亚洲欧美色| 欧美草草影院在线视频| 欧美三级日韩三级| 97精品久久久午夜一区二区三区 | 久久免费美女视频| 欧美老肥妇做.爰bbww视频| 99久久久无码国产精品| 国产精品99久久久久久久vr | 成人av在线播放网站| 免费成人在线播放| 日本不卡一区二区| 亚洲h动漫在线| 亚洲天堂久久久久久久| 欧美激情综合在线| 国产日韩欧美一区二区三区综合| 精品国偷自产国产一区| 91精品在线观看入口| 欧美日韩一二区| 欧美日韩精品一区二区三区蜜桃| 色屁屁一区二区| 成人av网址在线观看| 成人免费视频视频| 777a∨成人精品桃花网| 在线影视一区二区三区| 白白色 亚洲乱淫| 97久久超碰国产精品| 91在线视频免费91| 99国产精品久久久久久久久久久| 成人黄色免费短视频| 99精品桃花视频在线观看| 国产成a人亚洲| 成人教育av在线| 色哟哟国产精品| 91高清视频免费看| 欧美日韩精品一区二区天天拍小说 | 国产精品丝袜一区| 亚洲视频中文字幕| 亚洲一区二区三区免费视频| 亚洲第一福利视频在线| 天堂va蜜桃一区二区三区漫画版 | 日韩美女视频一区二区在线观看| 日韩午夜在线观看| 久久久久久久久岛国免费| 国产欧美一区二区三区在线老狼| 国产人成亚洲第一网站在线播放| 国产欧美精品一区二区色综合朱莉 | av电影天堂一区二区在线| 91欧美一区二区| 欧美三级日韩三级国产三级| 日韩天堂在线观看| 国产欧美一区二区精品性色超碰 | 国产日韩精品一区二区三区在线| 国产精品视频九色porn| 一区二区成人在线视频| 日韩高清在线观看| 国产精品原创巨作av| 91天堂素人约啪| 91麻豆精品国产91久久久久久久久 | 91精品综合久久久久久| 国产亚洲欧美日韩俺去了| 一区二区在线看| 精品一区二区三区视频在线观看 | 丝袜a∨在线一区二区三区不卡| 韩国女主播成人在线观看| 色婷婷精品大视频在线蜜桃视频| 欧美疯狂做受xxxx富婆| 国产精品欧美综合在线| 日韩制服丝袜av| 不卡的av中国片| 欧美一级日韩不卡播放免费| 中文字幕日韩av资源站| 久久精品国产亚洲a| 色噜噜偷拍精品综合在线| 日韩欧美亚洲一区二区| 亚洲人成小说网站色在线 | 午夜精品久久久久久久99樱桃| 国产综合久久久久久久久久久久| 日本精品视频一区二区| 一区二区三区成人在线视频| 经典一区二区三区| 欧美亚洲另类激情小说| 中文字幕 久热精品 视频在线 | 欧美成人性战久久| 亚洲制服欧美中文字幕中文字幕| 高清国产一区二区| 日韩一区二区麻豆国产| 一区二区三区四区视频精品免费 | 一区二区三区久久久| 成人免费毛片app| 精品国产91乱码一区二区三区| 亚洲影视在线播放| 91老司机福利 在线| 中文幕一区二区三区久久蜜桃| 久久 天天综合| 日韩视频一区二区三区在线播放 | 在线成人高清不卡| 亚洲欧美日韩人成在线播放| 国产一区二区三区电影在线观看| 91精品国产综合久久久久久| 亚洲一区二区视频| 色噜噜狠狠成人中文综合| 最新日韩在线视频| 不卡电影免费在线播放一区| 国产精品入口麻豆原神| 成人性生交大片免费| 国产亚洲欧洲997久久综合| 国内不卡的二区三区中文字幕| 日韩免费观看高清完整版在线观看| 日韩高清不卡在线| 91精品国产91综合久久蜜臀| 日产精品久久久久久久性色| 欧美一区二区视频在线观看| 男人的天堂久久精品| 日韩女优电影在线观看| 黑人巨大精品欧美一区|