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

📄 wavedraw.cpp

📁 自制软件
💻 CPP
字号:
// WaveDraw.cpp: implementation of the CWaveDraw class.
//            图型类,主要完成图形的初始化、处理、显示
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Wave_Fft.h"
#include "WaveDraw.h"
#include "VcPlot.h"
#include "vcdatagrid.h"
#include "VcColor.h"
#include "VcSeries.h"
#include "VcPen.h"
#include "VcValueScale.h"
#include "VcSeriesCollection.h"
#include "VcCategoryScale.h"
#include "VcAxis.h"
#include "VcAxisTitle.h"
#include "VcBrush.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

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

CWaveDraw::CWaveDraw()
{

}

CWaveDraw::~CWaveDraw()
{

}

/************************************************************************/
/*         功能:图形初始化 ,chart1 为数据图,chart2为FFT频谱图        */
/************************************************************************/
void CWaveDraw::InitDraw(CMSChart &Chart1,CMSChart &Chart2,int RowNum)
{
    VARIANT var;
	/*数据图初始化*/
	Chart1.SetRowCount(RowNum); //X轴数据大小
	Chart1.SetColumnCount(1); //曲线总数

//	Chart1.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerLabel(100);	// 每刻度一个标注
//	Chart1.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerTick(100); 	// 每刻度一个刻度线
//	Chart1.GetPlot().GetAxis(1,var).GetValueScale().SetMaximum(-100); // Y轴最大刻度
 //   Chart1.GetPlot().GetAxis(1,var).GetValueScale().SetMinimum(100); // Y轴最小刻度
   // Chart1.GetPlot().GetAxis(1,var).GetValueScale().SetMajorDivision(5); // Y轴刻度5等分
//	Chart1.GetPlot().GetAxis(1,var).GetValueScale().SetMinorDivision(1); // 每刻度一个刻度线
    Chart1.Refresh();

	/*FFT频谱图初始化*/
	Chart2.SetRowCount(RowNum); //X轴数据大小
	Chart2.SetColumnCount(1); //曲线总数
//	Chart2.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerLabel(50);	// 每刻度一个标注
//	Chart2.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerTick(50); 	// 每刻度一个刻度线
//	Chart2.GetPlot().GetAxis(1,var).GetValueScale().SetMaximum(-100); // Y轴最大刻度
//    Chart2.GetPlot().GetAxis(1,var).GetValueScale().SetMinimum(100); // Y轴最小刻度
//    Chart2.GetPlot().GetAxis(1,var).GetValueScale().SetMajorDivision(5); // Y轴刻度5等分
//	Chart2.GetPlot().GetAxis(1,var).GetValueScale().SetMinorDivision(1); // 每刻度一个刻度线
    Chart2.Refresh();
}

/************************************************************************/
/*                  显示波形图                                          */
/************************************************************************/
void CWaveDraw::DrawWave(CMSChart &WavemsChart,double Data[],int RowNum)
{
	for (int row=1; row <= RowNum; row++)
	{
	  	WavemsChart.GetDataGrid().SetData(row,1,Data[row-1],0);
	}

}

⌨️ 快捷键说明

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