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

📄 allwavedlg.cpp

📁 接收来自下位机的数据,然后进行数据处理和通讯
💻 CPP
字号:
// AllWaveDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Ultrasonic.h"
#include "AllWaveDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// AllWaveDlg dialog
extern int rxnum[8],rxoldnum[8],RxData[8][24576],RxDataOld[8][24576],realorhis;

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


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


BEGIN_MESSAGE_MAP(AllWaveDlg, CDialog)
	//{{AFX_MSG_MAP(AllWaveDlg)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// AllWaveDlg message handlers

void AllWaveDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	// TODO: Add your message handler code here	
	CDC* pDC=GetDC();	
	CBitmap MemBitmap;
   	CDC MemDC[8];
	CPen Pen,Pen2; 
	Pen.CreatePen(PS_SOLID, 1, RGB(220, 220,220,));
    Pen2.CreatePen(PS_SOLID, 1, RGB(0, 0,0,));
	int i,j,m;
	for(i=0;i<8;i++)
	{    	
	    MemBitmap.LoadBitmap(IDB_background);
	  	MemDC[i].CreateCompatibleDC(pDC);
	    //MemBitmap.CreateCompatibleBitmap(pDC,800,256);
        CBitmap *pOldbmp=MemDC[i].SelectObject(&MemBitmap);
	    //用MemDC画图
        MemDC[i].SelectObject(&Pen);
		for(j=256;j>=0;j-=20)
		{   
			MemDC[i].MoveTo(0,j);
			MemDC[i].LineTo(32000,j);
		}//画横线
//		if(realorhis==0) m=800;else m=2000;
		for(j=0;j<=32000;j+=800) 
		{   
			MemDC[i].MoveTo(j,0);
			MemDC[i].LineTo(j,256);
		}//画竖线
		MemDC[i].SelectObject(&Pen2);
		if(realorhis==0)
		{
			for(j=0;j<32000;j++)//rxnum[i]-1    
			{    
				MemDC[i].MoveTo(j,256-RxData[i][j]);
				MemDC[i].LineTo(j+1,256-RxData[i][j+1]);//-1
			} 
	        pDC->StretchBlt(40+(i%2)*500,35+(i/2)*175,450,128,&MemDC[i],0,0,32000,256,SRCCOPY);
	
		}
		else
		{
			for(j=0;j<32000 && RxDataOld[i][j+1]!=-1;j++)    
			{    
				MemDC[i].MoveTo(j,256-RxDataOld[i][j]);
				MemDC[i].LineTo(j+1,256-RxDataOld[i][j+1]);
			}
	        pDC->StretchBlt(40+(i%2)*500,35+(i/2)*175,450,128,&MemDC[i],0,0,32000,256,SRCCOPY);
	
		}
     	MemDC[i].SelectObject(pOldbmp);
		MemDC[i].DeleteDC();
		MemBitmap.DeleteObject();
	}//for

	// Do not call CDialog::OnPaint() for painting messages 
}

⌨️ 快捷键说明

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