// EWaveView.cpp : implementation of the CEWaveView class
//
#include "stdafx.h"
#include "EWave.h"
#include "EWaveDoc.h"
#include "EWaveView.h"
#include "gvar.h"
#include "pubfun.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CEWaveView
IMPLEMENT_DYNCREATE(CEWaveView, CView)
BEGIN_MESSAGE_MAP(CEWaveView, CView)
//{{AFX_MSG_MAP(CEWaveView)
ON_COMMAND(ID_EDIT_UNDO, OnLarger)
ON_COMMAND(ID_EDIT_COPY, OnSmaller)
ON_COMMAND(ID_NEXT_PAGE, OnNextPage)
ON_COMMAND(ID_PREV_PAGE, OnPrevPage)
ON_COMMAND(ID_LARGER_HORZ, OnLargerHorz)
ON_COMMAND(ID_LARGER_VIRTICAL, OnLargerVirtical)
ON_COMMAND(ID_SMALLER_HORZ, OnSmallerHorz)
ON_COMMAND(ID_SMALLER_VIRTICAL, OnSmallerVirtical)
ON_COMMAND(ID_TOPPER_PAGE, OnTopperPage)
ON_COMMAND(ID_LOWER_PAGE, OnLowerPage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEWaveView construction/destruction
CEWaveView::CEWaveView()
{
// TODO: add construction code here
m_dwScaleX = 40;
m_dwScaleY = 40;
m_dwDenoX = 20;
m_dwDenoY = 120;
m_dwNowPoint = 0;
m_byEnAddLine = 0;
for(int i = 0;i < MAX_VOLTAGENUM;i++)
m_byLineNo[i] = i;
}
CEWaveView::~CEWaveView()
{
}
BOOL CEWaveView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CEWaveView drawing
void CEWaveView::OnDraw(CDC* pDC)
{
CEWaveDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
FreshClient(pDC);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CEWaveView diagnostics
#ifdef _DEBUG
void CEWaveView::AssertValid() const
{
CView::AssertValid();
}
void CEWaveView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CEWaveDoc* CEWaveView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CEWaveDoc)));
return (CEWaveDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CEWaveView message handlers
BOOL CEWaveView::FreshClient(CDC *pDC)
{
DWORD i,j;
POINT Point[MAX_WAVENUM*MAX_SAMPLENUM];
MyPoint* pPoint;
FreshClientBackGround(pDC);
if(m_dwNowPoint >= MAX_WAVENUM*MAX_SAMPLENUM)
m_dwNowPoint = MAX_WAVENUM*MAX_SAMPLENUM - 1;
CPen pen;
CRect rc;
GetClientRect(&rc);
m_dwLineNum = CalcLineNum();
for(i = 0;i < m_dwLineNum;i++)
{
if(m_byLineNo[i] < 8)
{
CString str;
HFONT hft;
hft = CreateFont(0,rc.right*18/2200,0,0,0,0,0,0,GB2312_CHARSET,
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH&FF_DONTCARE,"黑体");
pDC->SelectObject(hft);
pDC->SetTextColor(0x8000);
pDC->TextOut(rc.right*81/100,2,"电压值 电流值");
str.Format("U%d: %3d.%dV I%d: %3d.%dA",
m_byLineNo[i],gsVoltage[m_byLineNo[i]]/10,abs(gsVoltage[m_byLineNo[i]])%10,
m_byLineNo[i],gsDCVoltage[m_byLineNo[i]]/10,abs(gsDCVoltage[m_byLineNo[i]])%10);
pDC->TextOut(rc.right*81/100,20+i*15,str);
pDC->TextOut(rc.right*81/100,145,"数字量");
str.Format("dg%d: %3d",m_byLineNo[i],gsAngle[m_byLineNo[i]]);
pDC->TextOut(rc.right*81/100,165+i*15,str);
}
}
pen.CreatePen(PS_SOLID,1,RGB(0,0x10,0xa0));
if(pDC->SelectObject(&pen) != NULL)
{
long lTmp;
if(gDrawItem.wPointNum&&m_dwScaleX)
{
for(i = 0;i < (rc.right*4/5-rc.left)*m_dwDenoX/(gDrawItem.wPointNum*m_dwScaleX);i++)
{
lTmp = rc.left+i*gDrawItem.wPointNum*m_dwScaleX/m_dwDenoX;
pDC->MoveTo(lTmp,rc.top);
pDC->LineTo(lTmp,rc.bottom);
}
for(i = 0;i < m_dwLineNum;i++)
{
lTmp = i*(rc.bottom-rc.top)/m_dwLineNum + (rc.bottom-rc.top)/(2*m_dwLineNum);
pDC->MoveTo(rc.left,lTmp);
pDC->LineTo(rc.right*4/5,lTmp);
}
}
}
pen.DeleteObject();
j = 0;
for(i = 0;i < m_dwLineNum;i++)
{
if(m_byLineNo[i] < 8)
{
pPoint = (MyPoint*)&Point[0];
MakeLinePoint(pPoint,j,m_byLineNo[i]);
DrawOneLine(pDC,&Point[0],m_byLineNo[i],j);
j++;
}
}
return TRUE;
}
BOOL CEWaveView::DrawOneLine(CDC *pDC,POINT *pPoint,BYTE byLineNo,int nLinePos)
{
CDC dcmem;
CPen pen;
CRect rc;
DWORD i,j;
CString str;
GetClientRect(&rc);
dcmem.CreateCompatibleDC(pDC);
pen.CreatePen(PS_SOLID,2,RGB(255-byLineNo*10,byLineNo*20,byLineNo*5));
if(pDC->SelectObject(&pen) != NULL)
{
str.Format("U%d",byLineNo);
if(pPoint->y > 15)
pDC->TextOut(pPoint->x,pPoint->y-15,str);
else
pDC->TextOut(pPoint->x,pPoint->y,str);
for(i = m_dwNowPoint;i < (DWORD)(gDrawItem.wPointNum*gDrawItem.wZhouBoNum - 1);i++)
{
if((nLinePos == 0)&&(i%gDrawItem.wPointNum == 0))
{
str.Format("%d",i/gDrawItem.wPointNum);
pDC->TextOut(pPoint->x,rc.top,str);
if(rc.bottom > 12)
pDC->TextOut(pPoint->x,rc.bottom-12,str);
else
pDC->TextOut(pPoint->x,rc.bottom,str);
}
for(j = 0;j < gDrawItem.wPtNum;j++)
{
if((byLineNo == j)&&gdwBreakPoint[j])
{
if((i == gdwBreakPoint[j])&&(gdwBreakPoint[j] != 0))
{
str.Format("%d年%d月%d日%d时%d分%d秒%d毫秒",
gDrawItem.tSysTime.wYear,gDrawItem.tSysTime.byMonth,
gDrawItem.tSysTime.byDay,gDrawItem.tSysTime.byHour,
gDrawItem.tSysTime.byMinute,gDrawItem.tSysTime.bySecond,
gDrawItem.tSysTime.wMSecond);
pDC->TextOut(pPoint->x,pPoint->y,str);
}
break;
}
}
if(pPoint->x > (rc.right*4/5-rc.left))
break;
if(pPoint->y > (rc.bottom-rc.top)) pPoint->y = (rc.bottom-rc.top);
pDC->MoveTo((rc.left+pPoint->x),(rc.top+pPoint->y));
pPoint++;
pDC->LineTo((rc.left+pPoint->x),(rc.top+pPoint->y));
}
}
pen.DeleteObject();
return TRUE;
}
BOOL CEWaveView::FreshClientFromOut()
{
int i;
m_dwScaleX = 40;
m_dwScaleY = 40;
m_dwDenoX = 20;
m_dwDenoY = 120;
m_dwNowPoint = 0;
m_byEnAddLine = 0;
for(i = 0;i < MAX_VOLTAGENUM;i++)
m_byLineNo[i] = i;
CDC* pDC = GetDC();
FreshClient(pDC);
ReleaseDC(pDC);
return TRUE;
}
void CEWaveView::FreshClientBackGround(CDC *pDC)
{
CBrush brush;
CPen pen;
CRect rc,rcTmp;
GetClientRect(&rc);
brush.CreateSolidBrush(RGB(0,0x10,0x80));
rcTmp = rc;
rcTmp.right = rcTmp.right*4/5+2;
pDC->FillRect(&rcTmp,&brush);
brush.DeleteObject();
pen.CreatePen(PS_SOLID,2,RGB(0,0,0));
if(pDC->SelectObject(&pen) != NULL)
{
pDC->MoveTo(rcTmp.right+1,rcTmp.top);
pDC->LineTo(rcTmp.right+1,rcTmp.bottom);
}
pen.DeleteObject();
brush.CreateSolidBrush(RGB(0xff,0xff,0xff));
rcTmp = rc;
rcTmp.left = rcTmp.right*4/5+4;
pDC->FillRect(&rcTmp,&brush);
brush.DeleteObject();
}
void CEWaveView::MakeLinePoint(MyPoint *pPoint,int nLinePos,BYTE byLineNo)
{
DWORD i,j,k;
CRect rc;
GetClientRect(&rc);
i = 0;
if(!m_dwLineNum) m_dwLineNum = 1;
for(j = 0;j < gDrawItem.wZhouBoNum; j++)
{
for(k = 0;k < gDrawItem.wPointNum;k++)
{
if((j*gDrawItem.wPointNum+k) < m_dwNowPoint)
continue;
DWORD dwY,dwCenterY;
dwCenterY = nLinePos*(rc.bottom-rc.top)/m_dwLineNum + (rc.bottom-rc.top)/(2*m_dwLineNum);
pPoint->x = i*m_dwScaleX/m_dwDenoX;
if(j >= 14)
dwY = gDrawItem.sDrawTemp[byLineNo][j][k];
if(gDrawItem.sDrawTemp[byLineNo][j][k]&0x8000)
dwY = dwCenterY + (((~gDrawItem.sDrawTemp[byLineNo][j][k])&0x7fff)+1)*m_dwScaleY*(rc.bottom-rc.top)/(m_dwDenoY*m_dwLineNum*2000);
else
{
if(dwCenterY < (DWORD)(gDrawItem.sDrawTemp[byLineNo][j][k]*m_dwScaleY*(rc.bottom-rc.top)/(m_dwDenoY*m_dwLineNum*2000)))
dwY = 0;
else
dwY = dwCenterY - gDrawItem.sDrawTemp[byLineNo][j][k]*m_dwScaleY*(rc.bottom-rc
没有合适的资源?快使用搜索试试~ 我知道了~
录波分析软件,VC++源码奉上
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共105个文件
tlog:30个
obj:14个
h:11个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 31 18 下载量 4 浏览量
2022-07-27
20:27:05
上传
评论 3
收藏 41.6MB ZIP 举报
温馨提示
电力负荷、故障录波文件分析
资源详情
资源评论
资源推荐
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/EXE.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/EXE.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 105 条
- 1
- 2
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
m0_72826747
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0