資源簡介
經常需要繪制實時類曲線,網上不好找,找到的也是一些很舊的插件,難以使用!這個資源是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\li
?????文件??????????2??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件??????????2??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件??????????2??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件??????????2??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件??????????2??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件???????3558??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件???????9858??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件???????2218??2013-03-13?13:53??WavView\WavView\Debug\li
?????文件???????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.em
?????文件????????980??2013-03-12?15:51??WavView\WavView\Debug\WavView.exe.em
?????文件????????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個文件信息
- 上一篇:Pointers on C中文版
- 下一篇:MFC 視頻播放器
評論
共有 條評論