📄 timeset.h
字号:
// TimeSet.h: interface for the CTimeSet class.
// 多媒体定时器通用类 CTimeSet
// 作者:郭剑
// QQ: 63659875
// 2007.11.21
/******************************
使用:
假如你要调用该类CTimeSet的类是 CYourApp
1. 在CYourApp中定义CTimeSet的实例 CTimeSet m_timeSet;
在CYourApp中定义回调函数(一定要是static的,才能消除隐藏的this指针)
static void PASCAL TimerPro(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2);
2. 书写你的回调函数:
void PASCAL CYourApp::TimerPro(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2)
{
CYourApp * mApp = (CYourApp*)dwUser;
mApp->YourFun(); //YourFun是CYourApp中的函数。或者mApp->var; 访问CYourApp中的变量var。
}
3. 调用多媒体定时器。假设在按钮响应函数中CYourApp::OnButton()
void CYourApp::OnButton()
{
m_timeSet.Start(100,TimerPro,(DWORD)this); //定时器100毫秒访问TimerPro函数一次
}
4. 关闭定时器 m_timeSet.Stop();
*******************************/
#if !defined(MY_TIME_SET_H)
#define MY_TIME_SET_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//加入lib
#include "mmsystem.h"
#pragma comment(lib,"winmm.lib")
class CTimeSet
{
public:
CTimeSet();
virtual ~CTimeSet();
UINT TimerID;//定义定时器句柄
UINT TimerRes;//分辨率
UINT TimerDelay;//定时间隔ms
//static void PASCAL TimerPro(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2); //声明回调函数
bool Start(UINT delay,LPTIMECALLBACK pfun,DWORD dwUser, UINT res=1);
void Stop();
};
#endif // !defined(MY_TIME_SET_H)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -