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