Chinaunix首页 | 论坛 | 博客
  • 博客访问: 917533
  • 博文数量: 84
  • 博客积分: 4334
  • 博客等级: 上校
  • 技术积分: 1610
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-27 07:49
文章分类

全部博文(84)

文章存档

2012年(5)

2011年(21)

2010年(58)

分类: C/C++

2011-11-28 14:49:09


当执行到程序的某一行代码时,需要添加计时器,就用这条语句:
SetTimer(1, 1000, NULL);

参数如下:

UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse,
  void (CALLBACK* lpfnTimer)(HWND, UINT, UINT_PTR, DWORD));

设置好后计时器立马生效,1秒后计时器发生中断,在代码所在的类中进行捕捉:

1.在该类的消息中添加:

BEGIN_MESSAGE_MAP(CTab1, CDialog)  // CTab1是自己定义的一个类
    ...
    ON_WM_TIMER()
    ...
END_MESSAGE_MAP()


2.所在的类中添加成员函数:

void OnTimer(UINT_PTR nIDEvent);

3.添加函数的代码,即捕捉后的执行代码:

void CTab1::OnTimer(UINT_PTR nIDEvent)
{
    switch (nIDEvent)
    {
    case 1:  // 计时器1
               .... // 处理的代码
               KillTimer(1);  // 删除此计时器,否则计时器中断完后会自动重新开始计时,到下一次中断时还会发生新的中断
               break;

    case 2:  // 计时器2
               .... // 处理的代码
               break;
    default:
               MessageBox("default: KillTimer");
               KillTimer(nIDEvent);
               break;
    }
}

4、当执行到程序的某一行代码时,需要添加计时器,就用这条语句:
SetTimer(1, 1000, NULL);

http://www.cnblogs.com/cxun/archive/2007/04/28/731464.aspx

阅读(5479) | 评论(0) | 转发(0) |
0

上一篇:给ibus添加搜狗词库

下一篇:SPI读写总结

给主人留下些什么吧!~~