定时器及其“中断函数”

定时器是单片机中常见的一种系统资源,相信学过单片机的同学已经非常了解了,这里也就不再介绍,下面只是说明一下在VC中定时器的编程方法:

1)设置定时器:

UINT_PTR SetTimer(      
    HWND hWnd,// 窗口句柄
    UINT_PTR nIDEvent,// 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
    UINT uElapse,// 时间间隔,单位为毫秒
    TIMERPROC lpTimerFunc // 回调函数
);
在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了;

比如在对话框OnInitDialog()函数中设置 SetTimer(1, 500, NULL);
第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数onTimer函数,需要用类向导添加消息响应WM_TIMER。

BEGIN_MESSAGE_MAP(CMSCOMMDlg, CDialog)
//{{AFX_MSG_MAP(CMSCOMMDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

2)关闭定时器:

BOOL KillTimer(          
    HWND hWnd,
    UINT_PTR uIDEvent
);
3)定时“中断函数”(回调函数):
void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
注意:回调函数的写法一定要参照MSDN的提示规则编写,否则是无效的

由MFC响应的函数为 函数为 void CXXXDlg::OnTimer(UINT nIDEvent) {;}


定时器正如在单片机中那样用途广泛,我们熟知的托盘图标单锁就是用定时器实现的......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值