?? 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 + -