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

📄 exeditu.cpp

📁 电力谐波测量装置对电量,谐波等数据的模拟各种曲线图,使用vc开发.
💻 CPP
字号:
// Exeditu.cpp : implementation file
//

#include "stdafx.h"
#include "电力谐波测试仪.h"
#include "Exeditu.h"

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

/////////////////////////////////////////////////////////////////////////////
// Exeditu

Exeditu::Exeditu()
{
}

Exeditu::~Exeditu()
{
}


BEGIN_MESSAGE_MAP(Exeditu, CEdit)
	//{{AFX_MSG_MAP(Exeditu)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Exeditu message handlers

void Exeditu::OnPaint() 
{
	CPaintDC pdc(this); // device context for painting
	CRect rc;
	GetClientRect(rc);
	CBrush b;
	b.CreateSolidBrush(RGB(0x00,0x00,0x00));
	CDC dc;
	dc.CreateCompatibleDC(CDC::FromHandle(pdc.m_ps.hdc));
	CBitmap bm;
	bm.CreateCompatibleBitmap(CDC::FromHandle(pdc.m_ps.hdc),rc.Width(),rc.Height());
	dc.SelectObject(bm);
	dc.FillRect(rc,&b);
	// TODO: Add your message handler code here
	CPen Pen1,*oldPen1;
	Pen1.CreatePen(PS_INSIDEFRAME,0,RGB(100,155,108));
	oldPen1=dc.SelectObject(&Pen1);
    dc.MoveTo(0,rc.bottom/9);
	dc.LineTo(rc.right,rc.bottom/9);
    dc.MoveTo(0,rc.bottom*2/9);
	dc.LineTo(rc.right,rc.bottom*2/9);
	dc.MoveTo(0,rc.bottom*3/9);
	dc.LineTo(rc.right,rc.bottom*3/9);
	dc.MoveTo(0,rc.bottom*4/9);
	dc.LineTo(rc.right,rc.bottom*4/9);
	dc.MoveTo(0,rc.bottom*5/9);
	dc.LineTo(rc.right,rc.bottom*5/9);
    dc.MoveTo(0,rc.bottom*6/9);
	dc.LineTo(rc.right,rc.bottom*6/9);
	dc.MoveTo(0,rc.bottom*7/9);
	dc.LineTo(rc.right,rc.bottom*7/9);
	dc.MoveTo(0,rc.bottom*8/9);
	dc.LineTo(rc.right,rc.bottom*8/9);
	dc.MoveTo(rc.right/6,0);
	dc.LineTo(rc.right/6,rc.bottom);
	dc.MoveTo(rc.right/3,0);
	dc.LineTo(rc.right/3,rc.bottom);
	dc.MoveTo(rc.right*3/6,0);
	dc.LineTo(rc.right*3/6,rc.bottom);
	dc.MoveTo(rc.right*4/6,0);
	dc.LineTo(rc.right*4/6,rc.bottom);
	dc.MoveTo(rc.right*5/6,0);
	dc.LineTo(rc.right*5/6,rc.bottom);
	CPen Pen,*oldPen;
	Pen.CreatePen(PS_INSIDEFRAME,1,RGB(0,255,0));
	oldPen=dc.SelectObject(&Pen);

	CPoint pt[7],pt1[7];

	pt[0].x=rc.Width()/2-150-10;pt[0].y=rc.Height()/2;
	pt[1].x=rc.Width()/2-125-10;pt[1].y=rc.Height()/2+100*a1/220;
	pt[2].x=rc.Width()/2-100-10;pt[2].y=rc.Height()/2+100*a1/220; 
	pt[3].x=rc.Width()/2-75-10;pt[3].y=rc.Height()/2;
	pt[4].x=rc.Width()/2-50-10;pt[4].y=rc.Height()/2-100*a1/220;
	pt[5].x=rc.Width()/2-25-10;pt[5].y=rc.Height()/2-100*a1/220;
	pt[6].x=rc.Width()/2-10;pt[6].y=rc.Height()/2;
	pt1[0].x=rc.Width()/2-10;pt1[0].y=rc.Height()/2;
	pt1[1].x=rc.Width()/2+25-10;pt1[1].y=rc.Height()/2+100*a1/220;
	pt1[2].x=rc.Width()/2+50-10;pt1[2].y=rc.Height()/2+100*a1/220;
	pt1[3].x=rc.Width()/2+75-10;pt1[3].y=rc.Height()/2;
	pt1[4].x=rc.Width()/2+100-10;pt1[4].y=rc.Height()/2-100*a1/220;
	pt1[5].x=rc.Width()/2+125-10;pt1[5].y=rc.Height()/2-100*a1/220;
	pt1[6].x=rc.Width()/2+150-10;pt1[6].y=rc.Height()/2;
	dc.PolyBezier(pt1,7);
	dc.PolyBezier(pt,7);
	pdc.BitBlt(0,0,rc.Width(),rc.Height(),&dc,0,0,SRCCOPY);
	UpdateData(true);
}

void Exeditu::get(float a)
{
	a1=a;
	UpdateData(true);
}

⌨️ 快捷键说明

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