C++ MFC中定时器的使用
思路:与单片机定时器中断一样,先打开定时器再把执行的代码写进编译器生成的CMy56Dlg::OnTimer(UINT nIDEvent)函数中。
其中 nIDEvent 中的n代表定时器的编号;通常与switch-case语句构成多个定时器的同时使用。
步骤:
一.通过类向导在对话框基类中添加 OnTimer子类。步骤:-----编译后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.-----并编译
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"));
}
}
C++MFC定时 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)