⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecgdatadlg.cpp

📁 这是VISUAL C++ 6.0环境下编译的ECG测试程序
💻 CPP
字号:
// ECGDATADlg.cpp : implementation file
//

#include "stdafx.h"
#include "ECGTest.h"
#include "ECGDATADlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CECGDATADlg dialog


CECGDATADlg::CECGDATADlg(CWnd* pParent /*=NULL*/)
	: CDialog(CECGDATADlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CECGDATADlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CECGDATADlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CECGDATADlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CECGDATADlg, CDialog)
	//{{AFX_MSG_MAP(CECGDATADlg)
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CECGDATADlg message handlers

void CECGDATADlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	UpdateWindow();
	CBrush brush(RGB(0,0,0));
	GetClientRect(rect);
	dc.FillRect(rect,&brush);
	dc.MoveTo(20,20);
	dc.LineTo(100,100);
	dc.SetBkColor(RGB(0,0,0));
	GetClientRect(&rect);
	m_PointOld.x = rect.Width();
	m_PointOld.y = rect.Height();
	m_PointOld.y = m_PointOld.y/2;
	CPen   pen(PS_DOT,1,RGB(109,24,236)),*pOldPen; 
	pOldPen=dc.SelectObject(&pen);
	dc.SelectObject(&pOldPen);
	m_PointOld.x = rect.Width();
	m_PointOld.y = rect.Height();
	m_x = rect.left;
	m_y = rect.right;
	m_t = rect.top;
	m_b = rect.bottom;
	int i,j;
	for(j=1;j<10;j++)
	{
		m_y = rect.top + (m_PointOld.y/10) * j;
		dc.MoveTo(0,m_y);
		dc.LineTo(m_PointOld.x,m_y);
	}
	for(i=1;i<10;i++)
	{
		m_x = rect.left + (m_PointOld.x/10) * i;
		dc.MoveTo(m_x,0);
		dc.LineTo(m_x,m_PointOld.y);
	}
	DrawCoordinate();
	// Do not call CDialog::OnPaint() for painting messages
}
int m_prepos=10,m_preData=120,flag=0;
void CECGDATADlg::DrawWave(CString str)
{
	flag++;	
	CClientDC ECGdc(this);
	CRect ECGrect;
	GetClientRect(&ECGrect);
	CPen Pen;
	CPen *OldPen;
	Pen.CreatePen(PS_SOLID,1,RGB(252,255,114));
	OldPen=ECGdc.SelectObject(&Pen);

	data=atoi(str)/29;
	ECGdc.MoveTo(m_prepos,m_preData);
	ECGdc.LineTo(m_prepos+3,ECGrect.bottom-data-22);
	data=ECGrect.bottom-data-22;
	m_preData = data;
	m_prepos += 3;
	ECGdc.SelectObject(OldPen);
	
	if(flag==1)
	{
		m_temp1=data;	
	}
	else if(flag==165)
	{	
		Sleep(20);
		Invalidate();
		UpdateWindow();
		flag=0;
		m_prepos=10;
		m_preData=m_temp1;	
	}


}

BOOL CECGDATADlg::OnEraseBkgnd(CDC* pDC) 
{
	// TODO: Add your message handler code here and/or call default
	return TRUE;
	return CDialog::OnEraseBkgnd(pDC);
}

void CECGDATADlg::DrawCoordinate()
{
	CClientDC dc(this);
	CPen   pen(PS_SOLID,1,RGB(255,255,255)),*pOldPen; 
	pOldPen=dc.SelectObject(&pen);
	dc.SelectObject(&pOldPen);
	static CRect rect1;
	GetClientRect(rect1);
	

	dc.MoveTo(rect1.left + rect1.Width()/10*0.2,rect1.top + rect1.Height()/10);
	dc.LineTo(rect1.left + rect1.Width()/10*0.2,rect1.top + rect1.Height()/10*9);
	dc.MoveTo(rect1.left + rect1.Width()/10*0.2,rect1.top + rect1.Height()/10);
	dc.LineTo(rect1.left + rect1.Width()/10*0.2-5,rect1.top + rect1.Height()/10+5);
	dc.MoveTo(rect1.left + rect1.Width()/10*0.2,rect1.top + rect1.Height()/10);
	dc.LineTo(rect1.left + rect1.Width()/10*0.2+5,rect1.top + rect1.Height()/10+5);


	dc.MoveTo(rect1.left + rect1.Width()/10*0.2,rect1.top + rect1.Height()/10*9);
	dc.LineTo(rect1.left + rect1.Width()/10*9.8,rect1.top + rect1.Height()/10*9);
	dc.MoveTo(rect1.left + rect1.Width()/10*9.8,rect1.top + rect1.Height()/10*9);
	dc.LineTo(rect1.left + rect1.Width()/10*9.8-5,rect1.top + rect1.Height()/10*9+5);
	dc.MoveTo(rect1.left + rect1.Width()/10*9.8,rect1.top + rect1.Height()/10*9);
	dc.LineTo(rect1.left + rect1.Width()/10*9.8-5,rect1.top + rect1.Height()/10*9-5);
/*	int i;
	for(i=2;i<9;i++)
	{
		dc.MoveTo(rect1.left + rect1.Width()/10*i,rect1.top + rect1.Height()/10*9);
		dc.LineTo(rect1.left + rect1.Width()/10*i,rect1.top + rect1.Height()/10*9+10);
		dc.SetBkColor(RGB(125,125,255));
		char dat[2];
		itoa(rect1.left + rect1.Width()/10*i/10,dat,10);
		dc.TextOut(rect1.left + rect1.Width()/10*i-20,rect1.top + rect1.Height()/10*9+10,dat,2);
	}
	for(i=3;i<99;i++)
	{
		dc.MoveTo(rect1.left + rect1.Width()/100*i,rect1.top + rect1.Height()/10*9);
		dc.LineTo(rect1.left + rect1.Width()/100*i,rect1.top + rect1.Height()/10*9+5);
	}
	rect.left = rect.left + 10;
	rect.right = rect.right-10;
	static CRect rect3;
	rect3.top = 100;
	rect3.bottom = 150;
	rect3.left = 100;
	rect3.right = 150;*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -