工控编程吧
标题:
103上位机VC MFC直方图控件的实现
[打印本页]
作者:
qq263946146
时间:
2015-12-20 21:58
标题:
103上位机VC MFC直方图控件的实现
(, 下载次数: 2)
上传
点击文件名下载附件
103上位
机VC MFC直方图控件的实现
功能展示
直方图控件,VC里没有此控件,我们得自己动手编写完成,我们当前例程实现了直方图功能,在调用Create()函数创建后,就可通过函数SetPos()绘制直方图,方便易用,效果如图
要点提示
直方力窗口的位置及大小可以通过任意的控件可间接获取,也可通过代码精确指定,我们当前例程通过图片控件的位置及大小,间接指定;
实现功能
1.新建基于对话框的应用程序
2.复制直方图类CHistogramCtrl的两文件HISTOGRAMCTRL.CPP,HISTOGRAMCTRL.H到自己的工程根目录,并加载到工程当中;
添加直方图变量private:CHistogramCtrl m_Histogram; 拖拽一位图控件修改ID为IDC_RECT作为直方图的位置及大小;
3.初始化直方图变量m_Histogram,CRect rect;GetDlgItem(IDC_RECT)->GetWindowRect(rect);
ScreenToClient(rect); m_Histogram.Create(this, 100,rect); m_Histogram.SetRange(0,rect.Height());
4.通过m_Histogram.SetPos();就可绘制直方图;我们当前例程通过定时器,不间断的绘制;
void CGkbc8Dlg::OnTimer(UINT nIDEvent)
{
if(1 == nIDEvent)
{
CTime t = CTime::GetCurrentTime();
srand(t.GetSecond());
UINT nRandom ;
do
{
nRandom = (UINT)rand();
} while (nRandom < m_Histogram.GetLowerRange() || nRandom > m_Histogram.GetUpperRange());//直到在范围内
m_Histogram.SetPos(nRandom);
}
CDialog::OnTimer(nIDEvent);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/2598818447c7018e68077f3636dd7038/0/0/w_19rt79qxq5.swf-albumId=5063017809-tvId=5063017809-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4