#pragma once #include "core/SSingletonMap.h" namespace SOUI { typedef struct tagTIMERINFO { SWND Swnd; UINT_PTR uTimerID; } TIMERINFO; class SOUI_EXP STimer2:public SSingletonMap { SINGLETON2_TYPE(SINGLETON_TIMER) public: static BOOL SetTimer(SWND swnd,UINT_PTR uTimerID,UINT nElapse) { return getSingleton()._SetTimer(swnd,uTimerID,nElapse); } static void KillTimer(SWND swnd,UINT_PTR uTimerID) { getSingleton()._KillTimer(swnd,uTimerID); } static void KillTimer(SWND swnd) { getSingleton()._KillTimer(swnd); } protected: BOOL _SetTimer(SWND swnd,UINT_PTR uTimerID,UINT nElapse); void _KillTimer(SWND swnd,UINT_PTR uTimerID); void _KillTimer(SWND swnd); static VOID CALLBACK _TimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime ); }; }//namespace SOUI