VC++ 定时器使用

本文介绍如何在MFC应用程序中使用Windows API函数SetTimer和KillTimer来创建和销毁定时器。通过示例展示了如何定义定时器ID、设置超时时间及实现超时回调函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

核心函数:

    1. 设置定时器:

    UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse,

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

参数说明:

    nIDEvent: 用户自定义ID,如: #define ID_EVENT  1

    nElapse : 超时时间,单位ms

    LpfnTimer: 超时回调函数, 若设置为NULL,则自动响应OnTimer()

 

    2.关闭定时器:

BOOL KillTimer(UINT_PTR nIDEvent);

参数说明:

    NIDEvent: 要删除的定时器ID

 

实例操作:

环境说明: VS2010,VC++,MFC 应用程序。

    

1.打开类视图,鼠标点击要添加定时器的类(这里用的是multThreadDlg),然后打开属性,在消息下拉中选择WM_TIMER,点击添加。添加成功之后就会在multThreadDlg.cpp文件中产生void CmultThreadDlg::OnTimer(UINT_PTR nIDEvent)。

 

 


 

 

 

2.添加代码

#define TIMER_PRINT    1

#define PRINT_INTERVAL 2000 //1s

SetTimer(TIMER_PRINT,PRINT_INTERVAL,NULL);

 

//  超时处理

void CmultThreadDlg::OnTimer(UINT_PTR nIDEvent)

{

switch(nIDEvent){

 

case TIMER_PRINT:

if (!mprintFlag)

{

mprintFlag = TRUE;

}

break;

 

}

 

CDialogEx::OnTimer(nIDEvent);

}

 

  

 

01-22 2983
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值