您的位置 首页 测评

C++ MFC中定时器的运用

用处:定时重绘,形成动态波形图。如温度曲线。思路:与单片机定时器中断一样,先打开定时器再把执行的代码写进编译器生成的CMy56Dlg::On

用途:守时重绘,构成动态波形图。如温度曲线。

思路:与单片机守时器中止相同,先翻开守时器再把履行的代码写进编译器生成的CMy56Dlg::OnTimer(UINT nIDEvent)函数中。
其间 nIDEvent 中的n代表守时器的编号;一般与switch-case句子构成多个守时器的一起运用。
过程:
一.经过类导游在对话框基类中增加 OnTimer子类。过程:【检查】-【类导游】-【Messagemaps】-【CMy**Dlg】-【message】-【WM_timer】编译后CMyDlg类此时会主动增加一个 OnTimer(UINT nIDEvent)子类。并增加一个呼应函数
void CMy56Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);//这句话编译器主动增加,看样子是判别第几个守时器触发的呼应。形似能够删掉。

}
二.到此就能够运用守时器了。
运用方法:首要履行SetTimer(UINT nIDEvent,timer,NULL);其间UINT nIDEvent是守时器编号,
需自己设定想用守时器1就设为1。雷同于单片机的守时器1和2。timer是uint型,表明守时时刻,单位为ms.NULL保存。
然后增加中止函数如下:
void CMy56Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);

}

三:比如
假定用的是守时器一,守时1s:
1.【检查】-【类导游】-【Messagemaps】-【CMy**Dlg】-【message】-【WM_timer】并编译
2.敞开守时器:
SetTimer(1,1000,NULL);//守时器一,守时一秒。
SetTimer(2,1500,NULL);//守时器二,守时1.5秒。
3.触发函数:

void CMy56Dlg::OnTimer(UINT nIDEvent)//经过nIDEvent来差异不同的守时器引发的中止
{
// TODO: Add your message handler code here and/orcalldefault
switch(nIDEvent)

{ case 1: //1号守时器应该处理的工作
OnPaint();
case 2: //2号守时器应该处理的工作
SetDlgItemText(IDC_EDIT1,(“hello”));
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/317598.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部