Операции таймера


Прикладная программа создает таймеры при помощи использования функции SetTimer. Новый таймер начинает отсчитывать интервалы времени, как только он создается. Прикладная программа может изменить значение времени простоя таймера, используя SetTimer и может уничтожить таймер, используя функцию KillTimer. Чтобы эффективно использовать системные ресурсы, прикладные программы должны уничтожать таймеры, в которых больше нет надобности.

Каждый таймер имеет уникальный идентификатор. При создании таймера, прикладная программа может или определить идентификатор, или получить уникальное значение, которое создается системой. Первый параметр сообщения WM_TIMER содержит идентификатор таймера, который отправил это сообщение.

 Если вы при вызове функции SetTimer определяете дескриптор окна, приложение связывает таймер с этим окном. Всякий раз, когда истекает значение времени простоя таймера, система посылает окну, связанному с таймером, сообщение WM_TIMER. Если при вызове SetTimer не дается какого-либо дескриптора окна, программа, которая создавала таймер, должна контролировать свою очередь сообщений для выявления сообщений WM_TIMER и отправлять их соответствующему окну. Если Вы определяете функцию обратного вызова TimerProc, по умолчанию, процедура окна вызывает функцию обратного вызова тогда, когда она обрабатывает WM_TIMER. Поэтому, Вы должны распределять сообщения в вызывающем потоке даже тогда, когда Вы используете TimerProc вместо того, чтобы обрабатывать сообщение WM_TIMER.

Если Вы должны известить, когда истекает время таймера, используйте таймер ожидания. Дополнительную информацию смотри в статье Объекты таймера ожидания.

Назад в оглавление
На главную страницу
Переведено 21.05.2007 19:19 ©Copyright V. Sokovikov
Hosted by uCoz