![]() |
#2
drci2012-09-26 12:00
|
只有本站会员才能查看附件,请 登录
这个小程序最重要的是那个指示器类C3DMeterCtrl。下面将简要介绍一下其实现过程。
Step1:建立一个基于Document/View的MFC工程,我的工程名为Monitor,需要注意的是最后一步应将视的基类从CView换成CFormView。
Step2:在资源视图的FORM中添加两个图片控件,并分别给这两个控件添加控件变量m_MeterCtrl1、m_MeterCtrl
C3DMeterCtrl m_MeterCtrl2;
C3DMeterCtrl m_MeterCtrl1;
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);
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.
源码下载
只有本站会员才能查看附件,请 登录
[ 本帖最后由 hlmzrdongdong 于 2012-3-22 21:30 编辑 ]