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

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

?? fibertestclientview.cpp

?? 用API的串口采集數據,并且在界面上顯示數據
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// FiberTestClientView.cpp : implementation of the CFiberTestClientView class
//

#include "stdafx.h"
#include "FiberTestClient.h"

#include "FiberTestClientDoc.h"
#include "FiberTestClientView.h"

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

extern CFiberTestClientApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CFiberTestClientView

IMPLEMENT_DYNCREATE(CFiberTestClientView, CFormView)

BEGIN_MESSAGE_MAP(CFiberTestClientView, CFormView)
//{{AFX_MSG_MAP(CFiberTestClientView)
ON_EN_CHANGE(IDC_Ymin, OnChangeYmin)
ON_EN_CHANGE(IDC_Ymax, OnChangeYmax)
ON_WM_PAINT()
ON_EN_CHANGE(IDC_TestTime, OnChangeTestTime)
ON_WM_TIMER()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFiberTestClientView construction/destruction

CFiberTestClientView::CFiberTestClientView()
: CFormView(CFiberTestClientView::IDD)
{
	//{{AFX_DATA_INIT(CFiberTestClientView)
	m_xtime1 = 30;
	m_ymax = 10;
	m_ymin = -10;
	m_Coord = _T("");
	m_datatime = _T("");
	//}}AFX_DATA_INIT
	// TODO: add construction code here


	
	m_iPointCount = 0;
	m_bIsSetDrawPoint = false;
	m_bIsSetReadPoint = false;
	m_bIsReTest = false;
	m_xtime = 0;

	m_bIsFinishDraw = false;

	
	m_uPointA = NULL;
	m_uPointB = NULL;
	m_uPointC = NULL;
	m_uDrawedPointA = NULL;
	m_uDrawedPointB = NULL;
	m_uDrawedPointC = NULL;


}	

UINT CFiberTestClientView::m_uTempPointA = POINT_NULL;
UINT CFiberTestClientView::m_uTempPointB = POINT_NULL;
UINT CFiberTestClientView::m_uTempPointC = POINT_NULL;

CFiberTestClientView::~CFiberTestClientView()
{
	if(NULL != m_uPointA)
	{
		delete []m_uPointA;
		m_uPointA = NULL;
	}
	if(NULL != m_uPointB)
	{
		delete []m_uPointB;
		m_uPointB = NULL;
	}
	if(NULL != m_uPointC)
	{
		delete []m_uPointC;
		m_uPointC = NULL;
	}
	if(NULL != m_uDrawedPointA)
	{
		delete []m_uDrawedPointA;
		m_uDrawedPointA = NULL;
	}
	if(NULL != m_uDrawedPointB)
	{
		delete []m_uDrawedPointB;
		m_uDrawedPointB = NULL;
	}
	if(NULL != m_uDrawedPointC)
	{
		delete []m_uDrawedPointC;
		m_uDrawedPointC = NULL;
	}
	
}

void CFiberTestClientView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFiberTestClientView)
	DDX_Text(pDX, IDC_TestTime, m_xtime1);
	DDX_Text(pDX, IDC_Ymax, m_ymax);
	DDX_Text(pDX, IDC_Ymin, m_ymin);
	DDX_Text(pDX, IDC_COORD, m_Coord);
	DDX_Text(pDX, IDC_time, m_datatime);
	//}}AFX_DATA_MAP
}

BOOL CFiberTestClientView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs
	
	return CFormView::PreCreateWindow(cs);
}

void CFiberTestClientView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();
	
}

/////////////////////////////////////////////////////////////////////////////
// CFiberTestClientView printing

BOOL CFiberTestClientView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CFiberTestClientView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CFiberTestClientView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

void CFiberTestClientView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
	// TODO: add customized printing code here
}

/////////////////////////////////////////////////////////////////////////////
// CFiberTestClientView diagnostics

#ifdef _DEBUG
void CFiberTestClientView::AssertValid() const
{
	CFormView::AssertValid();
}

void CFiberTestClientView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

CFiberTestClientDoc* CFiberTestClientView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CFiberTestClientDoc)));
	return (CFiberTestClientDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////

LRESULT CFiberTestClientView::OnComm(WPARAM wParam, LPARAM lParam)
{
	char buf[MAXBLOCK/4];
	CString str;

	CFiberTestClientDoc* pDoc=GetDocument();
	
	
	if(!pDoc->m_bConnected || (wParam & EV_RXCHAR)!=EV_RXCHAR) // 是否是EV_RXCHAR事件?
	{
		SetEvent(pDoc->m_hPostMsgEvent); // 允許發送下一個WM_COMMNOTIFY消息
		return 0L;
	}
	
	  pDoc->ReadComm(buf,6);

   
		 if(128==buf[0])
	
		 {
#ifdef INPUT_DATA
		//080412_ReadData
		//數據放入暫存,待程序根據定值的采樣周期取走;
		
		m_uTempPointA =(buf[1]<<25+buf[2]<<17+buf[3]<<9+buf[4]<<1)>>1; //如果從串口讀到數據A的話,放入A點的暫存
		m_uTempPointB = (buf[1]<<25+buf[2]<<17+buf[3]<<9+buf[4]<<1)>>1;//如果從串口讀到數據B的話,放入B點的暫存
		m_uTempPointC = (buf[1]<<25+buf[2]<<17+buf[3]<<9+buf[4]<<1)>>1;//如果從串口讀到數據C的話,放入C點的暫存
#endif
		 }
//		m_pRecordset->Update();
	
	SetEvent(pDoc->m_hPostMsgEvent); // 允許發送下一個WM_COMMNOTIFY消息
	return 0L;
}

void CFiberTestClientView::DrawWave(CDC *pDC)
{
   	CRect rect;
	
	CString str;
	int i,j;
	// 獲取繪制坐標的文本框
	CWnd* pWnd = GetDlgItem(IDC_COORD);
	
	pWnd->GetClientRect(&rect);
	pDC->Rectangle(&rect);
	
	
    m_left = rect.left+50;
	m_top = rect.top+10;
	m_right = rect.right-10;
	m_bottom = rect.bottom-100;
	
	int m_IntervalPan = (m_right-20 - m_left)/20;
	
	//UpdateData(false);
	if (m_IntervalPan < 1 ) m_IntervalPan =1;
	
	int m_Interval = (m_bottom - m_top-20)/10;
	if (m_Interval < 1)  m_Interval = 1;
	double m_Interval1=(m_ymax-m_ymin)/10.0;
	double m_Interval2=m_xtime1/20.0;	
	// 創建畫筆對象
	CPen* pPenRed = new CPen;
	// 紅色畫筆
	pPenRed->CreatePen(PS_SOLID,1,RGB(255,0,0));
	// 創建畫筆對象
	CPen* pPenBlue = new CPen;	
	// 藍色畫筆
	pPenBlue->CreatePen(PS_SOLID,1,RGB(0,0, 255));	
	// 創建畫筆對象
	CPen* pPenGreen = new CPen;	
	// 綠色畫筆
	pPenGreen->CreatePen(PS_DOT,1,RGB(0,255,0));	
	// 選中當前紅色畫筆,并保存以前的畫筆
	CGdiObject* pOldPen = pDC->SelectObject(pPenRed);
	
	pDC->MoveTo(rect.Width()*2/3-20,10);
	pDC->LineTo(rect.Width()*2/3-5,10);
	pDC->TextOut(rect.Width()*2/3-0,5,"A");
	
	pDC->SelectObject(pPenBlue);
	pDC->MoveTo(rect.Width()*2/3+45,10);
	pDC->LineTo(rect.Width()*2/3+60,10);
	pDC->TextOut(rect.Width()*2/3+65,5,"B");
	
	CPen* pPenC = new CPen;	
	pPenC->CreatePen(PS_SOLID,1,RGB(0,0,0));
	pDC->SelectObject(pPenC);
	pDC->MoveTo(rect.Width()*2/3+110,10);
	pDC->LineTo(rect.Width()*2/3+125,10);
	pDC->TextOut(rect.Width()*2/3+130,5,"C");
	
	pDC->SelectObject(pPenRed);
	// 繪制坐標軸
	pDC->MoveTo(m_left,m_top);	
	// 垂直軸
	pDC->LineTo(m_left,m_bottom);	
	// 水平軸
	pDC->LineTo(m_right,m_bottom);
	// 繪制X軸箭頭
	pDC->MoveTo(m_right-5,m_bottom-5);
	pDC->LineTo(m_right,m_bottom);
	pDC->LineTo(m_right-5,m_bottom+5);
	
	
	// 繪制Y軸箭頭	
	pDC->MoveTo(m_left-5,m_top+5);
	pDC->LineTo(m_left,m_top);
	pDC->LineTo(m_left+5,m_top+5);
	
	pDC->SelectObject(pPenGreen);
	for( i=0;i<21;i++)
	{
		
		pDC->MoveTo(m_left+i*m_IntervalPan,m_top);
		pDC->LineTo(m_left+i*m_IntervalPan,m_bottom+1);
		CString s;
		CTime time=CTime::GetCurrentTime();
		//		int t;
		//	    t=time.GetSecond();
		
		s.Format("%.1f",i*m_Interval2);
		pDC->TextOut(m_left+i*m_IntervalPan,m_bottom+2,s);
	}
	
	for( j=0;j<11;j++)
	{  
		
		pDC->MoveTo(m_left,m_bottom-j*m_Interval);
		pDC->LineTo(m_right,m_bottom-j*m_Interval);
		
		double temp=m_ymin+j*m_Interval1;
		CString s;
		s.Format("%.1f",temp);
		if (m_ymax>100&&m_ymin<-100)
		{
			pDC->TextOut(m_left-45,m_bottom-j*m_Interval,s);
		}
		else
        {
			pDC->TextOut(m_left-35,m_bottom-j*m_Interval,s);
		}
	}
	
	//    pDC->SelectObject(pPenRed);
	CRect t_rect(rect.left,rect.top,rect.right,20);
	pDC->DrawText("陀螺測試",8,t_rect,DT_CENTER   );
    
	//重繪已經畫過的點
	int iTimes=0;
	if(NULL != m_uDrawedPointA)
	{
		if(POINT_NULL != m_uDrawedPointA[iTimes])
		{
			m_IntervalPan = (m_right-20 - m_left)/20;
			if (m_IntervalPan < 1 ) m_IntervalPan =1;
			m_Interval = (m_bottom - m_top-20)/10;
			int iBaseX = m_left;
			int iBaseY = (m_bottom - m_top +2)/2 + m_Interval/2;
			int iAx = iBaseX + iTimes*m_IntervalPan*10/150*TIME_DRAW/TIME_BASE*300/m_iPointCount;
			//int iAy = iBaseY  -  m_uDrawedPointA[iTimes]*m_Interval/2;
			int	iAy = m_bottom - m_Interval/4 - (m_bottom - m_top-20)/(m_ymax - m_ymin)*(m_uPointA[iTimes] - m_ymin); 
			int iOldAX = iAx;
			int iOldAY = iAy;
			
			int iBx = iBaseX + iTimes*m_IntervalPan*10/150*TIME_DRAW/TIME_BASE*300/m_iPointCount;
			//int iBy = iBaseY  -  m_uDrawedPointB[iTimes]*m_Interval/2;
			int	iBy = m_bottom - m_Interval/4 - (m_bottom - m_top-20)/(m_ymax - m_ymin)*(m_uPointB[iTimes] - m_ymin); 
			int iOldBX = iBx;
			int iOldBY = iBy;
			
			int iCx = iBaseX + iTimes*m_IntervalPan*10/150*TIME_DRAW/TIME_BASE*300/m_iPointCount;
			//int iCy = iBaseY  -  m_uDrawedPointC[iTimes]*m_Interval/2;
			int	iCy = m_bottom - m_Interval/4 - (m_bottom - m_top-20)/(m_ymax - m_ymin)*(m_uPointC[iTimes] - m_ymin);  
			int iOldCX = iCx;
			int iOldCY = iCy;
			
			while(POINT_NULL != m_uDrawedPointA[iTimes] && (iTimes< m_iPointCount))
			{
				pDC->SelectObject(pPenRed);	
				iAx = iBaseX + iTimes*m_IntervalPan*10/150*TIME_DRAW/TIME_BASE*300/m_iPointCount;
				//	iAy = iBaseY  -  m_uDrawedPointA[iTimes]*m_Interval/2;
				iAy = m_bottom - m_Interval/4 - (m_bottom - m_top-20)/(m_ymax - m_ymin)*(m_uPointA[iTimes] - m_ymin); 
				pDC->MoveTo(iOldAX,iOldAY);
				pDC->LineTo(iAx,iAy);
				iOldAX =iAx;
				iOldAY = iAy;
				
				pDC->SelectObject(pPenBlue);	
				iBx = iBaseX + iTimes*m_IntervalPan*10/150*TIME_DRAW/TIME_BASE*300/m_iPointCount;
				//	iBy = iBaseY  -  m_uDrawedPointB[iTimes]*m_Interval/2;
				iBy = m_bottom - m_Interval/4 - (m_bottom - m_top-20)/(m_ymax - m_ymin)*(m_uPointB[iTimes] - m_ymin); 
				pDC->MoveTo(iOldBX,iOldBY);
				pDC->LineTo(iBx,iBy);
				iOldBX =iBx;
				iOldBY = iBy;
				
				pDC->SelectObject(pPenC);	
				iCx = iBaseX + iTimes*m_IntervalPan*10/150*TIME_DRAW/TIME_BASE*300/m_iPointCount;
				//	iCy = iBaseY  -  m_uDrawedPointC[iTimes]*m_Interval/2;
				iCy = m_bottom - m_Interval/4 - (m_bottom - m_top-20)/(m_ymax - m_ymin)*(m_uPointC[iTimes] - m_ymin); 
				pDC->MoveTo(iOldCX,iOldCY);
				pDC->LineTo(iCx,iCy);
				iOldCX =iCx;
				iOldCY = iCy;
				iTimes++;
			}
		}
	}
	// 恢復以前的畫筆
	pDC->SelectObject(pOldPen);	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区三区网站| 成人av网站在线| 激情综合一区二区三区| 国产精品综合一区二区| 成人免费高清在线观看| 在线视频欧美精品| 日韩欧美激情四射| 亚洲黄色小视频| 国产河南妇女毛片精品久久久| 国产精品18久久久久| 97精品超碰一区二区三区| 欧美一区二区三区小说| 国产精品嫩草影院com| 亚洲18女电影在线观看| 国产一区二区三区美女| 欧美日韩高清影院| 亚洲欧美激情小说另类| 国产精品99久久久久久似苏梦涵| 欧洲精品在线观看| 亚洲国产综合视频在线观看| 国产一区二区三区久久久| 9191国产精品| 美女网站在线免费欧美精品| 67194成人在线观看| 五月激情六月综合| 欧美一区二区三区视频免费 | 色综合一个色综合亚洲| 久久久噜噜噜久久中文字幕色伊伊 | 91精品国产麻豆| 亚洲综合激情网| 欧美午夜不卡视频| 午夜视频一区在线观看| 精品污污网站免费看| 午夜成人免费视频| 久久综合久久久久88| 国产91精品一区二区| 亚洲色图20p| 欧美一区午夜视频在线观看| 人人狠狠综合久久亚洲| 精品国产露脸精彩对白| 成人一区二区三区| 图片区小说区区亚洲影院| 精品美女一区二区三区| 色综合中文综合网| 亚洲第一激情av| 亚洲精品一二三四区| 4438成人网| 99vv1com这只有精品| 免费一级欧美片在线观看| 国产成a人亚洲精品| 亚洲国产va精品久久久不卡综合| 91精品欧美一区二区三区综合在 | 免费观看久久久4p| 中文字幕一区二区三中文字幕| 欧美日韩国产123区| 91在线观看污| 国产精品一区二区三区99| 首页亚洲欧美制服丝腿| 亚洲精品中文字幕乱码三区| 国产欧美日韩不卡免费| 亚洲精品在线网站| 久久久久久久久久久99999| 欧美精品色一区二区三区| 91丝袜高跟美女视频| 99riav久久精品riav| 99热在这里有精品免费| 国产成人免费av在线| 国产成人自拍网| 成人av在线一区二区三区| 成人久久18免费网站麻豆| 成人一级视频在线观看| 北条麻妃国产九九精品视频| 国产高清视频一区| 成人免费看的视频| 欧美色窝79yyyycom| 91精品国产综合久久婷婷香蕉| 欧美一级生活片| 欧美猛男男办公室激情| 欧美日韩在线播放三区四区| 91精品视频网| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲欧洲精品一区二区三区不卡| 亚洲伊人伊色伊影伊综合网| 国产美女在线精品| 色悠悠亚洲一区二区| 久久综合色一综合色88| 亚洲精品视频自拍| 国产在线国偷精品产拍免费yy | 亚洲色图在线播放| 久久国产精品无码网站| 在线观看av一区| 中文字幕在线一区二区三区| 久久国产精品第一页| 欧美色网一区二区| 亚洲美女电影在线| 成人免费观看男女羞羞视频| 日韩欧美三级在线| 天天综合网 天天综合色| 色综合久久综合网| 亚洲视频一区二区在线观看| 国产精品99久久久| 中文在线免费一区三区高中清不卡| 精品亚洲免费视频| 91精品国产欧美一区二区18 | 中文av一区特黄| 97久久人人超碰| 亚洲国产视频网站| 久久99精品一区二区三区| 欧美大尺度电影在线| 豆国产96在线|亚洲| 国产精品乱子久久久久| 一本色道久久加勒比精品| 一区二区三区加勒比av| 欧美一区二区三区小说| 国产91丝袜在线播放| 亚洲婷婷综合久久一本伊一区| 欧美视频完全免费看| 男女男精品网站| 亚洲欧洲精品一区二区三区不卡| 在线精品亚洲一区二区不卡| 久久精品久久精品| 亚洲精品中文在线| 日韩无一区二区| 91精品91久久久中77777| 久久精品99国产国产精| 一区二区三区免费网站| 久久精品男人的天堂| 欧美一区日韩一区| 在线观看亚洲a| 91久久香蕉国产日韩欧美9色| 理论片日本一区| 午夜精品视频一区| 亚洲一区免费视频| 国产精品久久久久aaaa樱花 | 色呦呦日韩精品| 91麻豆免费视频| 国产精品一区二区91| 日韩国产欧美一区二区三区| 亚洲精品免费在线观看| 国产欧美日韩精品一区| 国产精品嫩草影院av蜜臀| 久久久久久免费网| 亚洲天堂精品视频| 天堂成人免费av电影一区| 亚洲小说欧美激情另类| 天堂蜜桃91精品| 成人一二三区视频| 一本色道久久加勒比精品| 欧美综合色免费| 日韩久久精品一区| 国产精品女主播在线观看| 亚洲精品国产a| 久久超碰97人人做人人爱| 国产一区二区不卡| 色综合天天综合色综合av| 91福利精品第一导航| 欧美久久一二区| 国产校园另类小说区| 天堂在线亚洲视频| 91丨九色丨蝌蚪丨老版| 欧美xxxxx牲另类人与| 亚洲欧洲性图库| 国产河南妇女毛片精品久久久| 欧美色综合天天久久综合精品| 久久青草欧美一区二区三区| 亚洲一区在线播放| 99国产精品国产精品久久| 久久夜色精品国产噜噜av| 日韩成人精品视频| 欧美三级视频在线| 亚洲一区电影777| 色94色欧美sute亚洲线路二| 成人免费福利片| 精品国产污网站| 国模冰冰炮一区二区| 欧美一区二区在线视频| 午夜不卡av免费| 欧美日韩国产精选| 视频在线在亚洲| 精品福利视频一区二区三区| 奇米色一区二区三区四区| 欧美日本视频在线| 午夜精品久久久久久不卡8050| 色综合网色综合| 偷拍自拍另类欧美| 日韩视频在线你懂得| 国产在线播放一区| 国产精品久久久久一区二区三区共| 国产伦精品一区二区三区免费迷| 精品日韩成人av| 成人禁用看黄a在线| 亚洲激情一二三区| 精品精品欲导航| 99久久国产综合精品色伊| 亚洲精品中文在线影院| 欧美一级日韩一级| 99精品在线观看视频| 午夜精品久久久久久久久| 久久久久久一级片| 欧美日韩激情一区二区三区|