Этот код представляет собой удобный, надежный и быстрый способ использовать
обычные Win32 таймера (те самые, которые WM_TIMER). Классы для
использования:
CTimerHost -- этот класс является источником "безопасных" таймерных
нотификаций. Т.е. он не обладает гениальным недостатком обычного таймера,
который оставляет WM_TIMER сообщения в очереди после вызова KillTimer. Этот
класс должен быть использован и удален только из потока, т.к. он создает и
использует окошко.
CTimerThunk<...> -- представляет из себя "thunk" для приема нотификаций от CTimerHost.
Классы не используют поисков по картам, списка и т.п.
Пример использования:
#include"sf_timer.h"// for example in your CApp
CTimerHost g_TimerHost;
class CMyClass
{
public:
CMyClass() : m_Timer(g_TimerHost, this, OnTimer)
{
timer.SetTimer(500);
}
void Stop()
{
timer.KillTimer();
}
void OnTimer(DWORD dwTime) {}
protected:
CTimerThunk<CMyClass> m_Timer;
};
Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы
то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских
прав.