• 大小: 5.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-29
  • 语言: 其他
  • 标签: VC  控件  仪表  

资源简介

多个工业用的仪表控件:用于vc开发的仪表控件,有源代码.

资源截图

代码片段和文件信息

/***********************************************************************
* Copyright (c) 2007* 湖南威胜电子 All rights reserved.* 
* ATTRIBUTE:        一种圆盘仪表,用于数值显示
* FILE NAME: DiscMeter.h
* FILE ID: METERCONTROL-DISCMETER-H
* ABSTRACT: WF9800一体化系统数值显示专用 
* CURRENT VERSION: V1.0
* AUTHOR: 戚高
* CONTECT: successq_g@163.com
* BUILD DATA: 06/12/2007
* COMPLETION DATE: 06/12/2007
* PRE-VERSION: NONE
* PRE-AUTHOR: NONE
* PRE-COMPLETION DATE:
* NOTE:             未经授权请不要作为商业用途,或者如果您要作为商业
                    用途,请联系作者
***********************************************************************/
#include “stdafx.h“
#include “DiscMeter.h“
#include 

CDiscMeter::CDiscMeter()
{
m_BackColor = RGB(33 177 138);
m_dMinValue = 0.00f; //表量程初始值
m_dMaxValue = 1000.00f; //表量程终值
m_nTicks = 6; //大格个数
m_nSubTicks = 5; //大格中小格个数
m_dCurrentValue = 100.00f;

memset(m_strUnits 0 sizeof(m_strUnits));
strcpy(m_strUnits “kW“); //表单位
}

CDiscMeter::~CDiscMeter()
{
}


BEGIN_MESSAGE_MAP(CDiscMeter CStatic)
//{{AFX_MSG_MAP(CDiscMeter)
ON_WM_SIZE()
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

void CDiscMeter::OnSize(UINT nType int cx int cy) 
{
CStatic::OnSize(nType cx cy);

ReconstructControl();
}

void CDiscMeter::OnPaint() 
{
CPaintDC dc(this); // device context for painting

// 获得控件区域
GetClientRect (&m_rectCtrl);

CDiscMemDC memDC(&dc &m_rectCtrl);

//绘制仪表盘
if (m_dcMeterPlate.GetSafeHdc() == NULL || (m_bitmapMeterPlate.m_hobject == NULL))
{
m_dcMeterPlate.CreateCompatibleDC(&dc);
m_bitmapMeterPlate.CreateCompatibleBitmap(&dc m_rectCtrl.Width()  m_rectCtrl.Height()) ;
m_pbitmapOldMeterPlate = m_dcMeterPlate.Selectobject(&m_bitmapMeterPlate) ;
DrawMeterBackground(&m_dcMeterPlate m_rectCtrl);

}
memDC.BitBlt(0 0 m_rectCtrl.Width() m_rectCtrl.Height() 
           &m_dcMeterPlate 0 0 SRCCOPY);

DrawNeedle(&memDC);
DrawValue(&memDC);
}

//绘制仪表背景
void CDiscMeter::DrawMeterBackground(CDC *pDC CRect &rect)
{
CPen   m_penMeter *pOldPen;
CBrush m_brushBack *pOldBrush;

pDC->SetBkColor(m_BackColor);
m_brushBack.CreateSolidBrush(m_BackColor);
pOldBrush = (CBrush *)pDC->Selectobject(&m_brushBack);
pDC->FillRect(rect &m_brushBack);   //绘制背景
pDC->Rectangle(rect);                //绘制一个边框
pDC->Selectobject(pOldBrush);
m_brushBack.Deleteobject();

m_penMeter.CreatePen(PS_SOLID 2 RGB( 0 0 0));
pOldPen = (CPen *)pDC->Selectobject(&m_penMeter);
pDC->SetTextColor(RGB( 0 0 0));
pDC->SetBkMode(TRANSPARENT); 

int nTmpLong = __min(rect.Width() rect.Height());
m_ptMeterCenter.x = nTmpLong / 2; //点中心x坐标
m_ptMeterCenter.y = nTmpLong / 2; //点中心y坐标
m_nRadiusframe = nTmpLong / 2 - 3;

//绘制仪表圆盘
CRect rectRound(m_ptMeterCenter.x - m_nRadiusframe 
m_ptMeterCenter.y + m_nRadiusframe
m_ptMeterCenter.x + m_nRadiusframe 
m_ptMeterCenter.y - m_nRadiusframe

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

     文件      53880  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\DiscMeter.obj

     文件     105622  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\StdAfx.obj

     文件     118858  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\testMeter.exe

     文件      13994  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\testMeter.obj

     文件     328704  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\testMeter.pdb

     文件       2548  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\testMeter.res

     文件      25984  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\testMeterDlg.obj

     文件     364544  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Debug\vc60.pdb

     文件      11965  2007-12-12 21:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\DiscMeter.cpp

     文件       4711  2007-12-26 20:42  经典的工控图形控件的VC源代码\圆盘仪表图形控件\DiscMeter.h

     文件       3633  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\ReadMe.txt

     文件       1078  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\res\testMeter.ico

     文件        401  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\res\testMeter.rc2

     文件        687  2007-12-26 20:41  经典的工控图形控件的VC源代码\圆盘仪表图形控件\Resource.h

     文件        211  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\StdAfx.cpp

     文件       1054  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\StdAfx.h

     文件      20772  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.aps

     文件       1155  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.clw

     文件       2105  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.cpp

     文件       4343  2007-12-26 21:18  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.dsp

     文件        543  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.dsw

     文件       1357  2007-12-26 20:40  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.h

     文件      91136  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.ncb

     文件      49664  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.opt

     文件       1893  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.plg

     文件       5293  2007-12-26 20:41  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeter.rc

     文件       4639  2007-12-26 20:43  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeterDlg.cpp

     文件       1411  2007-12-26 20:43  经典的工控图形控件的VC源代码\圆盘仪表图形控件\testMeterDlg.h

     文件      65221  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘温度仪表控件\Debug\RoundMeter.obj

     文件     105622  2008-06-04 20:44  经典的工控图形控件的VC源代码\圆盘温度仪表控件\Debug\StdAfx.obj

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

评论

共有 条评论