//----------------------------------
// CTIMER Class - Timer呼び出し
// Copyright (c) 2002, K. Yoshida
//----------------------------------

class CTIMER
{
public:
	HWND m_hWnd;					//タイマーメッセージのウィンドウハンドル
	UINT m_nIDEvent;				//タイマーID
	UINT m_uElapse;					//設定時間（ミリセコンド）

	CTIMER();						//コンストラクター
	CTIMER(HWND, UINT, UINT);		//引数付コンストラクター
	~CTIMER();						//デストラクター
	UINT Begin(HWND, UINT, UINT);	//タイマー開始
	bool Stop();					//タイマー中止
};

//コンストラクター
CTIMER::CTIMER() {

	m_hWnd = 0;
	m_nIDEvent = m_uElapse = 0;
}

//引数付コンストラクター
CTIMER::CTIMER(HWND hWnd, UINT nIDEvent = 1, UINT uElapse = 1) {

	Begin(hWnd, nIDEvent, uElapse);
}

//デストラクター
CTIMER::~CTIMER() {

	Stop();
}

//タイマー開始
UINT CTIMER::Begin(HWND hWnd, UINT nIDEvent, UINT uElapse) {

	return m_nIDEvent = SetTimer(m_hWnd = hWnd, nIDEvent, m_uElapse = uElapse, NULL);
}

//タイマー中止
bool CTIMER::Stop() {

	bool ret;
	if(m_hWnd && m_nIDEvent) {
		ret = KillTimer(m_hWnd, m_nIDEvent);
		m_hWnd = 0;
		m_nIDEvent = m_uElapse = 0;
		return ret;
	}
	else
		return FALSE;
}
