一个仪表面板所用的数值指示器
<p>一些测量仪器上有一些指针式的数值指示器,今天这篇帖子将告诉你怎样在VC++中实现这种指示,首先看看效果图:<br></p> 这个小程序最重要的是那个指示器类C3DMeterCtrl。下面将简要介绍一下其实现过程。
Step1:建立一个基于Document/View的MFC工程,我的工程名为Monitor,需要注意的是最后一步应将视的基类从CView换成CFormView。
Step2:在资源视图的FORM中添加两个图片控件,并分别给这两个控件添加控件变量m_MeterCtrl1、m_MeterCtrl
C3DMeterCtrl m_MeterCtrl2; C3DMeterCtrl m_MeterCtrl1;
Step3:将本例程中的C3DMeterCtrl.cpp、C3DMeterCtrl.h和MemDC.h拷贝到您的工程下。
其中C3DMeterCtrl.h是这个指示器控件类的定义文件,C3DMeterCtrl.cpp是实现文件。MemDC.h是内存DC文件。
Step4:在MonitorView.h添加指示器的包含文件
#include "3DMeterCtrl.h"
Step5:在MonitorView.cpp的OnInitialUpdate()函数中初始化控件:
程序代码:
CString szUnit; szUnit.Format("温度"); m_MeterCtrl1.SetUnits(szUnit); m_MeterCtrl1.UpdateNeedle(-1.34); szUnit.Format("压力"); m_MeterCtrl2.SetUnits(szUnit); m_MeterCtrl2.UpdateNeedle(2.04);
好了,可以运行一下看看效果。其实这个类还有一些其他方法调用,比如设置仪表的最大与最小值,小数点位数等等。自己不妨一试。
Contract me,QQ:726921679.
源码下载
Monitor.rar
(45.54 KB)
[ 本帖最后由 hlmzrdongdong 于 2012-3-22 21:30 编辑 ]