资源简介

经常需要绘制实时类曲线,网上不好找,找到的也是一些很旧的插件,难以使用!这个资源是GDI双缓冲纯MFC代码的,很不错!

资源截图

代码片段和文件信息

// DlgWav.cpp : 实现文件
//

#include “stdafx.h“
#include “WavView.h“
#include “DlgWav.h“
#include “afxdialogex.h“



// CDlgWav 对话框

IMPLEMENT_DYNAMIC(CDlgWav CDialog)

CDlgWav::CDlgWav(CWnd* pParent /*=NULL*/)
: CDialog(CDlgWav::IDD pParent)
 m_oBmpView(NULL)
 m_oBmpMask(NULL)
 m_oBmpWav(NULL)
 m_nWidth(0)
 m_nHeight(0)
 m_nMargin(30)
 m_oPtScA(0)
 m_oPtScB(0)
 m_bStretch(FALSE)
 m_nChH(-1)
 m_pszLabX(NULL)
 m_pszLabY(NULL)
 m_pDataBuf(NULL)
 m_bValidData(FALSE)
 m_nDataLen(0)
 m_nTmId(100)
 m_bStart(FALSE)
 m_oPtCursorA(0)
 m_oPtCursorB(0)
 m_bMoveCursA(FALSE)
 m_bMoveCursB(FALSE)
 m_nTmCnt(0)
 m_bShowWav(FALSE)
 m_nDivX(100)
 m_nScanPeriod(4)
 m_nWavL(0)
 m_nWavR(0)
 m_nWavW(0)
 m_nWavH(0)
 m_pWavCoLst(NULL)
 m_nChCnt(0)
 m_nGridX(1)
 m_nGridY(1)
 m_nWavMod(0)
{
m_oBgColor=RGB(000);
m_oTxtColor=RGB(01600);
m_oGridColor=RGB(120120120);
m_oBdColor=RGB(200200200);
m_oSLinColor=RGB(2552420);

m_oNomCursColor=RGB(0128255);
m_oSelCursColor=RGB(0255255);

m_oWavColor=RGB(01600);
}

CDlgWav::~CDlgWav()
{
if(m_oBmpView!=NULL)
{
delete m_oBmpView;
m_oBmpView=NULL;
}
if(m_oBmpWav!=NULL)
{
delete m_oBmpWav;
m_oBmpWav=NULL;
}
if(m_oBmpMask!=NULL)
{
delete m_oBmpMask;
m_oBmpMask=NULL;
}

if(m_pszLabX!=NULL) delete [] m_pszLabX;
if(m_pszLabX!=NULL) delete [] m_pszLabY;

if(m_pDataBuf!=NULL) delete [] m_pDataBuf;
}

//判断点击点位置【坐标区、边衬区】。
UINT CDlgWav::PointTest(CPoint point)
{
int nWavL=m_nMargin;
int nWavT=m_nMargin;
int nWavR=m_nWidth-m_nMargin-1;
int nWavB=m_nHeight-m_nMargin-1;

if(point.xnWavR)
{
return PT_MGNVIEW;
}
else if(point.ynWavB)
{
return PT_MGNVIEW;
}
else
{
return PT_WAVVIEW;
}
}

void CDlgWav::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}



// CDlgWav 消息处理程序
BEGIN_MESSAGE_MAP(CDlgWav CDialog)
ON_WM_PAINT()
ON_WM_SIZE()
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_WM_TIMER()
ON_WM_RBUTTONDOWN()
ON_MESSAGE(UM_GETDATAOnGetData)
END_MESSAGE_MAP()

BOOL CDlgWav::OnInitDialog()
{
CDialog::OnInitDialog();

//初始化字体
memset(&m_oLogFont0sizeof(m_oLogFont));
_tcscpy(m_oLogFont.lfFaceName_T(“Courier New“));
m_oLogFont.lfCharSet=ANSI_CHARSET;
m_oLogFont.lfHeight=14;
m_oLogFont.lfWidth=0;
m_oLogFont.lfItalic=FALSE;
m_oLogFont.lfStrikeOut=FALSE;
m_oLogFont.lfUnderline=FALSE;
m_oLogFont.lfWeight=FW_NORMAL;
m_oLogFont.lfClipPrecision=CLIP_DEFAULT_PRECIS;
m_oLogFont.lfOutPrecision=OUT_DEFAULT_PRECIS;
m_oLogFont.lfPitchAndFamily=DEFAULT_PITCH;
m_oLogFont.lfQuality=DEFAULT_QUALITY;

//初始化XY轴Lable
m_pszLabX=new TCHAR[6];
_tcscpy(m_pszLabX_T(“T/4ms“));
m_pszLabY=new TCHAR[4];
_tcscpy(m_pszLabY_T(“Y/V“));

//初始化数据缓冲区
m_nDataLen=100;
m_pDataBuf=new WORD[m

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     177152  2013-04-16 12:24  WavView\Debug\WavView.exe

     文件    1198432  2013-03-13 13:53  WavView\Debug\WavView.ilk

     文件    5745664  2013-03-13 13:53  WavView\Debug\WavView.pdb

     文件       5866  2013-03-13 13:53  WavView\WavView\Debug\cl.command.1.tlog

     文件     136042  2013-03-13 13:53  WavView\WavView\Debug\CL.read.1.tlog

     文件       4048  2013-03-13 13:53  WavView\WavView\Debug\CL.write.1.tlog

     文件      85866  2013-03-13 13:50  WavView\WavView\Debug\DlgWav.obj

     文件          2  2013-03-13 13:53  WavView\WavView\Debug\link-cvtres.read.1.tlog

     文件          2  2013-03-13 13:53  WavView\WavView\Debug\link-cvtres.write.1.tlog

     文件          2  2013-03-13 13:53  WavView\WavView\Debug\link.5548-cvtres.read.1.tlog

     文件          2  2013-03-13 13:53  WavView\WavView\Debug\link.5548-cvtres.write.1.tlog

     文件          2  2013-03-13 13:53  WavView\WavView\Debug\link.5548.read.1.tlog

     文件          2  2013-03-13 13:53  WavView\WavView\Debug\link.5548.write.1.tlog

     文件       3558  2013-03-13 13:53  WavView\WavView\Debug\link.command.1.tlog

     文件       9858  2013-03-13 13:53  WavView\WavView\Debug\link.read.1.tlog

     文件       2218  2013-03-13 13:53  WavView\WavView\Debug\link.write.1.tlog

     文件       1422  2013-03-13 13:53  WavView\WavView\Debug\mt.command.1.tlog

     文件       1330  2013-03-13 13:53  WavView\WavView\Debug\mt.read.1.tlog

     文件        922  2013-03-13 13:53  WavView\WavView\Debug\mt.write.1.tlog

     文件       2190  2013-03-12 15:51  WavView\WavView\Debug\rc.command.1.tlog

     文件       6426  2013-03-12 15:51  WavView\WavView\Debug\rc.read.1.tlog

     文件        954  2013-03-12 15:51  WavView\WavView\Debug\rc.write.1.tlog

     文件     640172  2013-03-12 15:50  WavView\WavView\Debug\stdafx.obj

     文件    2108416  2013-03-13 13:53  WavView\WavView\Debug\vc100.idb

     文件    3944448  2013-03-13 13:53  WavView\WavView\Debug\vc100.pdb

     文件        915  2013-03-12 15:51  WavView\WavView\Debug\WavView.exe.embed.manifest

     文件        980  2013-03-12 15:51  WavView\WavView\Debug\WavView.exe.embed.manifest.res

     文件        640  2013-03-13 13:53  WavView\WavView\Debug\WavView.exe.intermediate.manifest

     文件         56  2013-03-13 14:04  WavView\WavView\Debug\WavView.lastbuildstate

     文件          3  2013-03-13 14:04  WavView\WavView\Debug\WavView.log

............此处省略38个文件信息

评论

共有 条评论